clingo
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
Gringo::Ground::PosBinder< Index, LookupArgs > Struct Template Reference

#include <binders.hh>

Inheritance diagram for Gringo::Ground::PosBinder< Index, LookupArgs >:
Inheritance graph
Collaboration diagram for Gringo::Ground::PosBinder< Index, LookupArgs >:
Collaboration graph

Classes

struct  lookup
 
struct  lookup< 0, I...>
 
struct  lookup< N, I...>
 

Public Types

using IndexType = typename std::remove_reference< Index >::type
 
using Match = typename IndexType::element_type *
 
using MatchRng = typename IndexType::element_range
 
using Lookup = std::tuple< Index, LookupArgs...>
 

Public Member Functions

 PosBinder (UTerm &&repr, Match &result, Index &&index, BinderType type, LookupArgs &&...args)
 
virtual IndexUpdatergetUpdater ()
 
virtual void match ()
 
virtual bool next ()
 
virtual void print (std::ostream &out) const
 
virtual ~PosBinder ()
 
- Public Member Functions inherited from Gringo::Ground::Binder
virtual ~Binder ()
 
- Public Member Functions inherited from Gringo::Printable
virtual ~Printable ()
 

Public Attributes

UTerm repr
 
Matchresult
 
Lookup index
 
MatchRng current
 
BinderType type
 

Member Typedef Documentation

template<class Index , class... LookupArgs>
using Gringo::Ground::PosBinder< Index, LookupArgs >::IndexType = typename std::remove_reference<Index>::type
template<class Index , class... LookupArgs>
using Gringo::Ground::PosBinder< Index, LookupArgs >::Lookup = std::tuple<Index, LookupArgs...>
template<class Index , class... LookupArgs>
using Gringo::Ground::PosBinder< Index, LookupArgs >::Match = typename IndexType::element_type*
template<class Index , class... LookupArgs>
using Gringo::Ground::PosBinder< Index, LookupArgs >::MatchRng = typename IndexType::element_range

Constructor & Destructor Documentation

template<class Index , class... LookupArgs>
Gringo::Ground::PosBinder< Index, LookupArgs >::PosBinder ( UTerm &&  repr,
Match result,
Index &&  index,
BinderType  type,
LookupArgs &&...  args 
)
inline
template<class Index , class... LookupArgs>
virtual Gringo::Ground::PosBinder< Index, LookupArgs >::~PosBinder ( )
inlinevirtual

Member Function Documentation

template<class Index , class... LookupArgs>
virtual IndexUpdater* Gringo::Ground::PosBinder< Index, LookupArgs >::getUpdater ( )
inlinevirtual
template<class Index , class... LookupArgs>
virtual void Gringo::Ground::PosBinder< Index, LookupArgs >::match ( )
inlinevirtual
template<class Index , class... LookupArgs>
virtual bool Gringo::Ground::PosBinder< Index, LookupArgs >::next ( )
inlinevirtual
template<class Index , class... LookupArgs>
virtual void Gringo::Ground::PosBinder< Index, LookupArgs >::print ( std::ostream &  out) const
inlinevirtual

Implements Gringo::Printable.

Member Data Documentation

template<class Index , class... LookupArgs>
MatchRng Gringo::Ground::PosBinder< Index, LookupArgs >::current
template<class Index , class... LookupArgs>
Lookup Gringo::Ground::PosBinder< Index, LookupArgs >::index
template<class Index , class... LookupArgs>
UTerm Gringo::Ground::PosBinder< Index, LookupArgs >::repr
template<class Index , class... LookupArgs>
Match& Gringo::Ground::PosBinder< Index, LookupArgs >::result
template<class Index , class... LookupArgs>
BinderType Gringo::Ground::PosBinder< Index, LookupArgs >::type

The documentation for this struct was generated from the following file: