ROSE  0.9.12.28
Public Types | Public Member Functions | Friends | List of all members
Rose::BinaryAnalysis::Concolic::ObjectId< Tag > Class Template Reference

Description

template<class Tag>
class Rose::BinaryAnalysis::Concolic::ObjectId< Tag >

ID class for database objects.

Definition at line 594 of file BinaryConcolic.h.

#include <BinaryConcolic.h>

Inheritance diagram for Rose::BinaryAnalysis::Concolic::ObjectId< Tag >:
Inheritance graph
[legend]
Collaboration diagram for Rose::BinaryAnalysis::Concolic::ObjectId< Tag >:
Collaboration graph
[legend]

Public Types

typedef size_t Value
 Type of ID. More...
 
typedef Sawyer::Optional< ValueSuper
 Supertype of this class. More...
 
typedef Tag Object
 Type of object to which this ID refers. More...
 
- Public Types inherited from Sawyer::Optional< size_t >
typedef size_t Value
 Type of stored value. More...
 

Public Member Functions

 ObjectId (const Value &v)
 
 ObjectId (const ObjectId &rhs)
 
 ObjectId (const std::string &s)
 Construct by parsing a string. More...
 
ObjectId< Tag > & operator= (const ObjectId< Tag > &lhs)
 Assignment operator to replace default generated one. More...
 
ObjectId< Tag > & operator= (const Value &v)
 Assignment overload to allow assignments of Value objects. More...
 
- Public Member Functions inherited from Sawyer::Optional< size_t >
 Optional ()
 Default constructs nothing. More...
 
 Optional (const Value &v)
 Construct from value. More...
 
 Optional (const Nothing &)
 Construct from nothing. More...
 
 Optional (const Optional &other)
 Copy constructor. More...
 
 ~Optional ()
 Destructor. More...
 
Optionaloperator= (const Value &value)
 Value assignment. More...
 
Optionaloperator= (const Nothing &)
 Nothing assignment. More...
 
Optionaloperator= (const Optional &other)
 Optional assignment. More...
 
Value orDefault () const
 Obtain a value or a default. More...
 
bool assignTo (U &out) const
 Conditionally save a value. More...
 
 operator unspecified_bool () const
 Type for Boolean context. More...
 
const Valueoperator* () const
 Dereference to obtain value. More...
 
Valueoperator* ()
 Dereference to obtain value. More...
 
const Valueget () const
 Dereference to obtain value. More...
 
Valueget ()
 Dereference to obtain value. More...
 
const Valueoperator-> () const
 Obtain a pointer to the value. More...
 
Valueoperator-> ()
 Obtain a pointer to the value. More...
 
const ValueorElse (const Value &dflt) const
 Obtain value or something else. More...
 
const ValueorElse (Value &dflt)
 Obtain value or something else. More...
 
bool isEqual (const Optional &other) const
 Compare two values. More...
 
bool isEqual (const Value &other) const
 Compare two values. More...
 
bool isEqual (const Nothing &) const
 Compare two values. More...
 

Friends

template<class _Tag >
bool operator< (const ObjectId< _Tag > &lhs, const ObjectId< _Tag > &rhs)
 external operator to define ordering. More...
 

Member Typedef Documentation

template<class Tag>
typedef size_t Rose::BinaryAnalysis::Concolic::ObjectId< Tag >::Value

Type of ID.

Definition at line 596 of file BinaryConcolic.h.

Supertype of this class.

Definition at line 597 of file BinaryConcolic.h.

template<class Tag>
typedef Tag Rose::BinaryAnalysis::Concolic::ObjectId< Tag >::Object

Type of object to which this ID refers.

Definition at line 598 of file BinaryConcolic.h.

Constructor & Destructor Documentation

template<class Tag>
Rose::BinaryAnalysis::Concolic::ObjectId< Tag >::ObjectId ( const std::string &  s)
inlineexplicit

Construct by parsing a string.

This constructor creates an object ID by parsing it from a string. The string should consist of optional white space, followed by a non-negative integer in C-style syntax (an optional radix prefix "0x", "0b", or "0", followed by digits followed by optional additional white space. Syntactically incorrect input will result in throwing an Exception.

Definition at line 614 of file BinaryConcolic.h.

References Rose::StringUtility::cEscape().

Member Function Documentation

template<class Tag>
ObjectId<Tag>& Rose::BinaryAnalysis::Concolic::ObjectId< Tag >::operator= ( const ObjectId< Tag > &  lhs)
inline

Assignment operator to replace default generated one.

Definition at line 628 of file BinaryConcolic.h.

template<class Tag>
ObjectId<Tag>& Rose::BinaryAnalysis::Concolic::ObjectId< Tag >::operator= ( const Value v)
inline

Assignment overload to allow assignments of Value objects.

Definition at line 634 of file BinaryConcolic.h.

Friends And Related Function Documentation

template<class Tag>
template<class _Tag >
bool operator< ( const ObjectId< _Tag > &  lhs,
const ObjectId< _Tag > &  rhs 
)
friend

external operator to define ordering.


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