OKlibrary  0.2.1.6
general.hpp File Reference

General plans for the concepts module. More...

Go to the source code of this file.

Namespaces

namespace  OKlib::Concepts
 

Concept definitions and accompanying generic tests.


namespace  OKlib
 

All components of the OKlibrary.



Detailed Description

General plans for the concepts module.

Deprecated:
Everything here will be moved to their own modules (in respective concepts-subdirectories).
Todo:
Move special concepts to their new local places

Would be good to have refactoring-tools ready for the necessary renamings.

Todo:
Cannibalise the approach from 200203: Transfer if appropriate concepts from OKsolver/Experimental/AllgKlassen200203/ConceptDefinitions.hpp, and once finished, mark this file to be obsolete.
Todo:
Develop concepts:
  • atomic conditions
  • literals
  • partial assignments
  • active clause-sets
  • clauses and clause-sets.
Todo:
Develop a general strategy for creating generic tests:
  • In the current scheme with basic tests for one, two, three objects:
    • Shouldn't there be a template parameter for the number of objects?
    • Where is the syntax check applied?
    • In general, how to avoid overlapping tests (or should this be ignored in general, and handled only in special cases?!) ?
  • As proposed somewhere in the specific concept (test) files, should the specific parts of the test-names (for example, the concept to be tested) become namespaces? Similar for the concept-tags and archetypes? Thus having new sub-namespaces (e.g.)
    • Concepts::tags
    • Concepts::archetypes
    • Concepts::tests::special_concept
Todo:
Warnings: Eliminate all warnings.
Todo:
Tests: Move to the new test system.
Todo:
Technical problems when formulating concepts:
  • What is the difference for example between
     bool b = static_cast<bool>(e); 
    
    and
     bool b = e; 
    
    ?! I would assume that here there is none. And in general?
Todo:
Complete the concepts and tests belonging to the standard:

Definition in file general.hpp.