SMTK  @SMTK_VERSION@
Simulation Modeling Tool Kit
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
smtk::common Namespace Reference

Classes used throughout the toolkit. More...

Namespaces

 update
 Classes to aid developers in migrating user content through schema upgrades.
 

Classes

class  Archive
 A class for handling SMTK archives. More...
 
class  Color
 Utilities for dealing with color conversion. More...
 
class  DateTime
 
class  DateTimeZonePair
 
class  Environment
 Cross-platform access to process environment variables. More...
 
class  EvaluationStack
 
class  EvaluationStacks
 
class  Extension
 Allow extension of operator functionality in separate libraries. More...
 
class  Factory
 A Factory is a class that constructs instances of registered classes which all inherit a common BaseType. More...
 
class  FileLocation
 
class  Generator
 Interface generator class. More...
 
class  GeneratorBase
 Base for all generators. More...
 
class  GeneratorType
 Base class for specific generator types. More...
 
class  HasSuperclass
 Determine whether the provided class (Class ) has a parent class. More...
 
class  InfixExpressionGrammar
 
struct  InfixFunction
 
class  InfixFunctions
 
struct  InfixOperator
 
class  InfixOperators
 
class  Instances
 The Instances class is used to manage instances of objects which share an inherited base type (the BaseType template parameter). More...
 
struct  Link
 A Link is an object that associates (or "links") two pieces of information together. More...
 
class  Links
 The Links class represents a collection of Link-s. More...
 
class  Managers
 
class  Observers
 An Observer is a functor that is called when certain actions are performed. More...
 
struct  parentClasses
 Invoke a functor on the named type and each of its parent types. More...
 
struct  parentClasses< Class, false >
 
struct  parentClasses< Class, true >
 
class  Paths
 Obtain filesystem paths relevant to SMTK. More...
 
class  PathsHelperMacOSX
 
class  PathsHelperUnix
 
class  PathsHelperWindows
 
class  PythonInterpreter
 A singleton class for encapsulating the embedded interpreter. More...
 
class  RangeDetector
 
struct  remove_cvref
 
class  RuntimeTypeContainer
 A container that can hold objects by their exact compile-time type as well as a commonly-inherited, run-time type. More...
 
class  Singleton
 
class  Status
 A return value for methods that need to indicate both success/failure and modification/stasis. More...
 
class  StringUtil
 
class  ThreadPool
 A basic thread pool that executes functors in separate threads. More...
 
class  TimeZone
 
class  TypeContainer
 A container for caching and retrieving instances of types. More...
 
class  TypeMap
 TypeMap is a generalized map for storing and accessing data using a key. More...
 
class  TypeMapBase
 The TypeMapBase class holds the storage and API for TypeMap. More...
 
class  TypeMapEntry
 A specialization of the TypeMapBase for a single type. More...
 
class  TypeMapEntryBase
 A common base class for properties of a given type. More...
 
class  UnionFind
 A disjoint-set structure for fast union-find operations. More...
 
struct  UnionFindSet
 Internal storage for the UnionFind class. More...
 
class  UUID
 
class  UUIDGenerator
 
class  Version
 Run-time access to the version number in different formats. More...
 
class  VersionNumber
 A 2- or 3-component version number (i.e., major, minor, and optional patch). More...
 
struct  VisitorFunctor
 A template for accepting visitors with different return types. More...
 

Typedefs

typedef std::shared_ptr< ManagersManagersPtr
 
typedef std::set< smtk::common::UUIDUUIDs
 
typedef std::vector< smtk::common::UUIDUUIDArray
 
using SubsymbolVisitor = std::function< std::pair< double, bool >(const std::string &symbol)>
 
template<class... >
using void_t = void
 
typedef std::vector< UUIDArrayUUIDArrays
 

Enumerations

enum  InfixExpressionError {
  ERROR_NONE = 0, ERROR_INVALID_TOKEN = 1, ERROR_INVALID_SYNTAX = 2, ERROR_UNKNOWN_FUNCTION = 3,
  ERROR_UNKNOWN_OPERATOR = 4, ERROR_MATH_ERROR = 5, ERROR_SUBEVALUATION_FAILED = 6
}
 
enum  EvaluationOrder : int
 
enum  InstanceEvent { InstanceEvent::Managed, InstanceEvent::Unmanaged, InstanceEvent::Modified }
 Events that an instance-manager can observe. More...
 
enum  Processing { Processing::CONTINUE, Processing::STOP }
 An enumeration visitors use to control processing after they yield. More...
 
enum  Termination { Termination::NORMAL, Termination::EARLY }
 An enumeration returned by visitors indicating whether they terminated early. More...
 
enum  Visit { Visit::Continue, Visit::Halt }
 Return values common to most visitor methods. More...
 
enum  Visited { Visited::All, Visited::Some, Visited::Empty }
 Return value for functions/methods that accept visitors. More...
 

Functions

std::ostream & operator<< (std::ostream &os, const DateTimeZonePair &dtz)
 
std::istream & operator>> (std::istream &is, DateTimeZonePair &dtz)
 
template<typename T >
double distance2 (const T *p0, const T *p1)
 Return the square of the Euclidean distance between p0 and p1.
 
template<typename Type >
std::string typeName ()
 Return the name of a class.
 
std::ostream & operator<< (std::ostream &stream, const UUID &uid)
 Write a UUID to a stream (as a string).
 
std::istream & operator>> (std::istream &stream, UUID &uid)
 Read a UUID from a stream (as a string).
 
std::ostream & operator<< (std::ostream &stream, const VersionNumber &version)
 Write a VersionNumber to a stream (as a string).
 
std::istream & operator>> (std::istream &stream, VersionNumber &uid)
 Read a VersionNumber from a stream (as a string).
 

Variables

const char timezonespec_csv [35855]
 

Detailed Description

Classes used throughout the toolkit.

Typedef Documentation

◆ UUIDArray

typedef std::vector< UUID > smtk::common::UUIDArray

◆ UUIDs

typedef std::set< UUID > smtk::common::UUIDs

Enumeration Type Documentation

◆ InstanceEvent

Events that an instance-manager can observe.

Enumerator
Managed 

An instance of a managed class was added to the instance manager.

Unmanaged 

An instance of a managed class was removed from the instance manager.

Modified 

An instance has been marked modified (by an operation).

◆ Processing

An enumeration visitors use to control processing after they yield.

Values indicate whether processing should stop or continue. If visitation is threaded, note that returning STOP may not completely eliminate future calls to the visitor (on other threads).

In the future, other options may be added (e.g., STOP_ALL_THREADS vs STOP_CURRENT_THREAD).

Enumerator
CONTINUE 

Do not terminate early, continue invoking the functor.

STOP 

Terminate early; avoid invoking the functor again.

◆ Termination

An enumeration returned by visitors indicating whether they terminated early.

Enumerator
NORMAL 

Processing was not interrupted.

EARLY 

Processing was halted before iteration was complete.

◆ Visit

enum smtk::common::Visit
strong

Return values common to most visitor methods.

Enumerator
Continue 

Continue to visit items.

Halt 

Stop visiting items immediately.

◆ Visited

enum smtk::common::Visited
strong

Return value for functions/methods that accept visitors.

If your function or class-method accepts functors that may return Visit::Halt, then you should return an enumerant below to indicate whether iteration terminated early or not.

Enumerator
All 

The visitor was invoked on every item exhaustively.

Some 

A visitor signaled early termination.

Empty 

The were no values to visit.

Function Documentation

◆ typeHierarchy() [1/2]

template<typename Class , typename Container >
void smtk::common::typeHierarchy ( Container &  container)

Populate the container with the name of this class and its ancestors.

The Class template-parameter should be an object that uses the smtkTypeMacro() to define a Superclass type-alias, as this is how the inheritance hierarchy is traversed.

The version of this function that accepts 2 template parameters uses the second parameter to iterate over a partial hierarchy truncated at (not including) the StopAtType.

◆ typeHierarchy() [2/2]

template<typename Class , typename StopAtType , typename Container >
void smtk::common::typeHierarchy ( Container &  container)

Populate the container with the name of this class and its ancestors.

The Class template-parameter should be an object that uses the smtkTypeMacro() to define a Superclass type-alias, as this is how the inheritance hierarchy is traversed.

The version of this function that accepts 2 template parameters uses the second parameter to iterate over a partial hierarchy truncated at (not including) the StopAtType.