Clingo
Loading...
Searching...
No Matches

Data structures and functions to represent and rewrite programs. More...

Classes

struct  CppClingo::Input::RewriteOptions
 Options to configure rewriting. More...
 
struct  CppClingo::Input::ProgramPart
 A program part. More...
 
class  CppClingo::Input::UnprocessedProgram
 Program grouping unprocessed statements. More...
 
struct  CppClingo::Input::Component
 A refined component. More...
 
class  CppClingo::Input::DependencyBuilder
 Interface to process a rewritten and analyzed input program. More...
 
class  CppClingo::Input::Program
 A program consisting of parts. More...
 

Typedefs

using CppClingo::Input::ConstMap = Util::ordered_map< SharedString, std::pair< StmConst, SharedSymbol > >
 Map from identifiers to constants.
 
using CppClingo::Input::ParamUnmap = Util::ordered_map< SharedString, SharedString >
 Map from parameters to their replacements.
 
using CppClingo::Input::ProgramPartVec = std::vector< ProgramPart >
 Statements grouped by parts.
 
using CppClingo::Input::Components = std::vector< std::vector< Component > >
 The list of components in groundable order.
 

Enumerations

enum class  CppClingo::Input::ProjectionMode : uint8_t { ProjectionMode::disabled = 0 , ProjectionMode::anonymous = 1 , ProjectionMode::pure = 2 }
 Enumeration to select variables to project. More...
 
enum class  CppClingo::Input::ProfileFlags : uint8_t { ProfileFlags::off = 0 , ProfileFlags::detailed = 1 , ProfileFlags::step = 2 , ProfileFlags::accu = 4 }
 Flags to control how profiling information is output. More...
 
enum class  CppClingo::Input::ComponentType : uint8_t { ComponentType::positive = 1 , ComponentType::single_pass = 2 }
 The type of a component. More...
 

Functions

 CppClingo::Input::CLINGO_ENABLE_BITSET_ENUM (ProfileFlags)
 Enable bitset operations for ProfileFlags.
 
 CppClingo::Input::CLINGO_ENABLE_BITSET_ENUM (ComponentType)
 Indicate that the component type is a bitset.
 

Detailed Description

Data structures and functions to represent and rewrite programs.

Enumeration Type Documentation

◆ ComponentType

enum class CppClingo::Input::ComponentType : uint8_t
strong

The type of a component.

Note that the positive flag is just about negative cycles within the component. The flag is also set to false if the component contains a negative literal derived in a later refined component.

Enumerator
positive 

The component does not contain a negative cycle.

single_pass 

The component can be grounded in one pass.

◆ ProfileFlags

enum class CppClingo::Input::ProfileFlags : uint8_t
strong

Flags to control how profiling information is output.

Enumerator
off 

Disable profiling.

detailed 

Output detailed profiling information.

step 

Output profiling information for each step.

accu 

Output accumulated profiling information.

◆ ProjectionMode

enum class CppClingo::Input::ProjectionMode : uint8_t
strong

Enumeration to select variables to project.

See also
Projection
Enumerator
disabled 

Disable projection.

anonymous 

Only project anonymous variables.

pure 

Project pure variables.