The namespace crp is the namespace for all ContRap core components and libraries.
More...
Data Structures |
| class | Block |
| | Class Block represents blocks in the control flow structure. More...
|
| class | Call |
| | Class Call is a command which calls a function. More...
|
| class | CallBack |
| | Class CallBack is a base class for call-back functions. More...
|
| class | Class |
| | Class Class represents the memory layout the static members in a ContRap class. More...
|
| class | CMakeFolder |
| | Class CMakeFolder represents a folder with a ContRap CMake file. More...
|
| class | Command |
| | Class Command is the base interface for all ContRap commands. More...
|
| class | ArgCommand |
| | Class ArgCommand is a command which has a list of arguments. More...
|
| class | Assignment |
| | Class Assignment represents assignments of identifiers. More...
|
| class | Declaration |
| | Class declaration is represents a list of assignments or identifiers, where each of them declares a local identifier. More...
|
| class | Selector |
| | Class Selector represents nested scope or class selection commands. More...
|
| class | Load |
| | Class Load represents the load command for libraries. More...
|
| class | Statement |
| | Class Statement represents system commands, which should not be overloaded by the user. More...
|
| class | Conditional |
| | Class Conditional represents conditional branches. More...
|
| class | Console |
| | Class Console implements the console stream communication with a process. More...
|
| class | Engine |
| | Class Engine is a combination of a parser and an interpreter. More...
|
| class | Executable |
| | Class Executable composes an expression, an engine and an evaluation scope. More...
|
| class | Error |
| | Class Error is the main error class thrown. More...
|
| class | EoFError |
| | Class EoFError is an error thrown by the parser in case of the input end. More...
|
| class | Interrupt |
| | Exception Interrupt is an exception thrown by the code if a break is requested. More...
|
| class | Abort |
| | Exception Abort is thrown within a procedure to indicate that it is not usable with the given arguments. More...
|
| class | Quit |
| | Exception Quit is a message thrown by the code if a quit is requested. More...
|
| class | Stop |
| | Exception Stop is a message thrown by the code if a interpreter stop is requested. More...
|
| class | Option |
| | Class Option represents an option to call in a function. More...
|
| class | AtomicFunction |
| | Class AtomicFunction is the base interface for ContRap atomic functions. More...
|
| class | ExternalFunction |
| | Class ExternalFunction encapsulates the external function type as an object. More...
|
| class | InternalFunction |
| | Class InternalFunction represents a function defined with the ContRap language. More...
|
| class | Function |
| | Class Function is the main structure for representing polymorphic functions of ContRap. More...
|
| class | Identifier |
| | Class Identifier is an object which represents identifiers. More...
|
| class | Parameter |
| | Class Parameter is an identifier type for representing parameters of functions. More...
|
| class | Instance |
| | Class Instance represents an instance of a ContRap native class. More...
|
| class | State |
| | Class State describes the state of the ContRap interpreter. More...
|
| class | Return |
| | Class Return is the exception thrown by a procedure when returning to the caller. More...
|
| class | Break |
| | Class Break is the exception thrown by within a loop when needed to break it. More...
|
| class | Interpreter |
| | Class Interpreter implements the command interpreter of ContRap. More...
|
| class | Library |
| | Class Library is a library descriptor. More...
|
| class | List |
| | Class List represents list objects. More...
|
| class | ListRef |
| | Class ListRef is a reference to list entries. More...
|
| class | LoggerMessage |
| | Class LoggerMessage represents a message with type, string, and sender. More...
|
| class | Logger |
| | Logger collects logging messages and returns them to a desired target on demand. More...
|
| class | ModuleInfo |
| | Class ModuleInfo is used to describe module properties at runtime. More...
|
| class | Object |
| | Class Object is the interface for all ContRap objects. More...
|
| class | ObjectFactory |
| | Object factory provides an interface for instantiating objects from a string holding the type. More...
|
| class | Options |
| | Class Options implements a singleton options container. More...
|
| struct | Operator |
| | Class Operator defines the properties of an operator. More...
|
| class | Parser |
| | Class Parser implements the parser of ContRap commands. More...
|
| class | PluginManager |
| | Class PluginManager implements a singleton plugin library management interface. More...
|
| class | MetaInfo |
| | Class MetaInfo contains objects meta-information. More...
|
| class | Finalizer |
| | Class Finalizer is a pair of an object pointer and the corresponding destructor. More...
|
| class | DPtr |
| | Class DPtr is a base weak typed class for smart pointers. More...
|
| class | RefPtr |
| | Class RefPtr is an internal pointer class which implements the reference counter. More...
|
| class | SPtr |
| | Class SPtr is a template typed reference counting pointer. More...
|
| class | Scope |
| | Class Scope defines a relation between identifier names and their values within name scopes. More...
|
| class | Serializer |
| | Class Serializer is a weak typed representation of objects for sending them through a serial stream. More...
|
| class | Socket |
| | Class Socket is a platform independent socket implementation. More...
|
| class | ClientSocket |
| | Class ClientSocket is a platform independent client socket. More...
|
| class | ServerSocket |
| | Class ServerSocket is a platform independent server socket implementation. More...
|
| class | StringTokenizer |
| | Class StringTokenizer implements a decomposition of a string into tokens separated by a set of delimiters. More...
|
| class | Template |
| | Class Template is the base interface class for template objects. More...
|
| class | Mutex |
| | Class Mutex is a platform-independent mutex wrapper. More...
|
| class | WaitCondition |
| | Class WaitCondition implements a wait condition variable. More...
|
| class | Thread |
| | Class Thread implements a user level thread. More...
|
| class | EvalThread |
| | Class EvalThread is a thread, which evaluates an expression. More...
|
| class | Timer |
| | Timer is a platform independent timer class. More...
|
| class | String |
| | Class String is the wrapped class for strings. More...
|
| class | XMLDataPool |
| | Class XMLDataPool is a query class object for XML-trees. More...
|
| class | XMLGlyphPrinter |
| | Class XMLGlyphPrinter is an abstract glyph printing interface. More...
|
| class | XMLLayoutBox |
| | Class XMLLayoutBox is an atomic layout item. More...
|
| class | XMLRule |
| | Class XMLRule is a descriptor of complex drawing objects like tables, lists, etc. More...
|
| class | XMLLayout |
| | Class XMLLayout is an abstract text layouter and printer of XML-formatted texts. More...
|
| class | XMLError |
| | Class XMLError is the base class for all XML errors. More...
|
| class | XMLParser |
| | Class XMLParser is an event driven base class to parse XML formatted strings. More...
|
| class | XMLStreamParser |
| | Class XMLStreamParser is a stream based XML parser for text strings. More...
|
| class | XMLPool |
| | Class XMLPool is a query class object for XML-trees. More...
|
| class | LayoutBox |
| | Class LayoutBox is an atomic layout item. More...
|
| class | XMLTextLayout |
| | Class XMLTextLayout is a layout class to print XML formatted strings to console or to a text file. More...
|
Typedefs |
| typedef ModuleInfo *(* | InfoFunction )() |
| | Type definition for a ContRap function.
|
| typedef DPtr(* | MetaFunction )(SPtr< List > &arguments, SPtr< List > &options, SPtr< Scope > &scope, Engine *engine) |
| | Type for external functions.
|
| typedef DPtr(* | MapFunction )(DPtr, void *extra) |
| typedef bool(* | DPtrCompare )(const DPtr &left, const DPtr &right) |
| | Comparison function prototype for dptrs.
|
| typedef bool(* | ConstructorFunction )(void *object) |
| | Prototype for the constructor function.
|
| typedef bool(* | CopyFunction )(const void *rvalue, void *lvalue) |
| | Prototype for the copy function.
|
| typedef bool(* | CastFunction )(const void *object) |
| | Prototype of cast functions.
|
| typedef void(* | DestructorFunction )(const void *object) |
| | Prototype for the destructor function.
|
typedef std::pair< std::string,
std::string > | StringPair |
| | StringPair is a pair of strings.
|
| typedef long long | integer_t |
| | Finite precision integer type.
|
| typedef long double | floating_t |
| | Floating point type.
|
| typedef std::complex< floating_t > | complex_t |
| | Floating point type.
|
| typedef std::complex< double > | complex |
typedef std::vector
< std::vector< std::string > > | UTF8Field |
Enumerations |
| enum | MessageType { DEBUG_MESSAGE = 1,
ERROR_MESSAGE = 2,
WARNING_MESSAGE = 4,
COMMENT_MESSAGE = 8
} |
| | Enumerates message types of the logger.
More...
|
| enum | MessageLevel { SHOW_NOTHING = 0,
SHOW_ERRORS = 2,
SHOW_WARNINGS = 4,
SHOW_ALL = 8
} |
| | Enumerates debug levels.
More...
|
| enum | PointerMode {
UNDEFINED,
PERSISTENT,
INSTANT,
DELAYED,
SOURCE
} |
| | Deletion mode enumeration type.
More...
|
Functions |
| SPtr< Call > | Equation (const SPtr< Object > &left, const SPtr< Object > &right) |
| | Creates an equation from a left-hand side and a right-hand side.
|
| CONTRAP_CORE_API SPtr< Call > | require (const DPtr &object, const std::string &name, const std::string &message) |
| | Makes a dynamic cast and returns the converted type or an error message if the resulting object is not of the required type.
|
| CONTRAP_CORE_API SPtr< Call > | check (const DPtr &object, const std::string &name) |
| | Makes a dynamic cast to a call and checks the name of the operator.
|
CONTRAP_CORE_API std::map
< std::string, DPtr > | interpret_options (SPtr< List > options) |
| | Interprets an options list.
|
| CONTRAP_CORE_API void | add_callback (const std::string &name, CallBack *callback) |
| | Adds a new call-back to the call-back list.
|
| CONTRAP_CORE_API void | remove_callback (const std::string &name) |
| | Removes a call-back from the call-back list.
|
| CONTRAP_CORE_API void | process_callbacks () |
| | Process call-backs.
|
| CONTRAP_CORE_API std::string | console_read_nonblocking () |
| | Method for reading from the console without blocking and calling call-backs during the input.
|
| CONTRAP_CORE_API SPtr< Scope > | get_nested_class (SPtr< Scope > scope, const std::string &name, bool create) |
| | Routes to the class which is pointed by an identifier.
|
| CONTRAP_CORE_API void * | open_library (const std::string &library, bool local=false, bool lazy=false) |
| | Opens a dynamic library in local or in global mode.
|
| CONTRAP_CORE_API void * | get_function_from_so (const std::string &function, void *handle) |
| | Platform independent dynamic loader function.
|
| CONTRAP_CORE_API void | close_library (void *handle) |
| | Closes library.
|
| CONTRAP_CORE_API void | error (const std::string &message) |
| | Creates and throws an error message from string.
|
| CONTRAP_CORE_API void | warning (const std::string &message, const std::string &sender="Core") |
| | Generates a warning.
|
| CONTRAP_CORE_API void | comment (const std::string &message, const std::string &sender="Core") |
| | Generates a comment.
|
| CONTRAP_CORE_API void | debug (const std::string &message, const std::string &sender="Debugger") |
| | Generates a comment.
|
| CONTRAP_CORE_API void | abort (const std::string &message) |
| | Creates and throws an abort message from string.
|
CONTRAP_CORE_API std::vector
< std::string > | get_files_in_folder (const std::string &path) |
| | Returns all files in a folder.
|
CONTRAP_CORE_API std::vector
< std::string > | get_folder_contents (const std::string &path) |
| | Returns all files in a folder including directories.
|
| CONTRAP_CORE_API bool | directory_exists (const std::string &path) |
| | Checks if a directory exists.
|
| CONTRAP_CORE_API bool | is_symbolic_link (const std::string &path) |
| | Checks if a file is a symbolic link.
|
| CONTRAP_CORE_API bool | file_exists (const std::string &file_name) |
| | Checks whether a file exists.
|
| CONTRAP_CORE_API int | get_file_size (const std::string &file_name) |
| | Returns the size of a file.
|
| CONTRAP_CORE_API void | create_directory (const std::string &path) |
| | Creates a directory.
|
| CONTRAP_CORE_API std::string | to_native_path (const std::string &path) |
| | Converts a path to the native system path.
|
| CONTRAP_CORE_API std::string | to_simple_path (const std::string &path) |
| | Simplifies a path not to contain trailing or double path delimiters.
|
| CONTRAP_CORE_API bool | is_relative_path (const std::string &path) |
| | Checks if a file path is a relative path or not.
|
| CONTRAP_CORE_API std::string | get_name_component (const std::string &path) |
| | Returns the name component of a file path.
|
| CONTRAP_CORE_API std::string | get_path_component (const std::string &file_name) |
| | Returns the path of a file name by splitting up the last component.
|
| CONTRAP_CORE_API std::string | relative_path (const std::string &reference, const std::string relative) |
| | Creates a path relative to a given path.
|
| CONTRAP_CORE_API std::string | make_temporary_file () |
| | Makes a temporary file name.
|
| CONTRAP_CORE_API bool | read_file (const std::string &file_name, std::string &contents) |
| | Reads a file to a string.
|
| CONTRAP_CORE_API bool | write_file (const std::string &file_name, const std::string &contents) |
| | Writes a string to a file.
|
| CONTRAP_CORE_API time_t | time_of_last_change (const std::string &file_name) |
| | Returns the date of last file change.
|
CONTRAP_CORE_API std::vector
< std::string > | break_paths (const std::string &paths) |
| | Breaks a ":"-separeted list of paths into a vector.
|
| CONTRAP_CORE_API std::string | is_library_path (const std::string &path) |
| | Returns a non-empty string if the file path is a path to a ContRap library.
|
| CONTRAP_CORE_API std::string | type_hash (const std::string &type) |
| | Type hash function, which returns a hash of a type used to compare function interfaces efficiently.
|
| CONTRAP_CORE_API void | dummy_destructor (void *) |
| | Dummy destructor function which does nothing.
|
| CONTRAP_CORE_API bool | add_extend (XMLDataPool *pool, const std::string &base_class, const std::string &super_class) |
| | Adds a class extend definition.
|
| CONTRAP_CORE_API MetaInfo * | get_global_meta_info (const char *type_name) |
| | Returns the meta info for a type.
|
| CONTRAP_CORE_API SPtr< Scope > | get_nested_scope (SPtr< Scope > scope, const std::string &name, bool create) |
| | Routes to the scope which is pointed by an identifier.
|
| std::string | encode_hexadecimal (const char *array, size_t size) |
| | Converts a byte array to a string with hexadecimal numbers.
|
| void | decode_hexadecimal (const std::string &code, char *buffer) |
| | Decodes a string with hexadecimal numbers to a byte array.
|
| template<typename T > |
| T | round (const T &x) |
| | Rounding function.
|
| template<class T > |
| T * | v2a (std::vector< T > &vector) |
| | Converts a vector to a C array.
|
| template<class T > |
| T * | v2a (std::vector< T > *vector) |
| | Converts a vector to a C array.
|
| template<class T > |
| void | clear_vector (std::vector< T > *vector) |
| | Deletes all the entries from a vector and clears the vector.
|
| template<class T > |
| void | clear_vector (std::vector< T > &vector) |
| | Deletes all the entries from a vector and clears the vector.
|
| CONTRAP_CORE_API std::string | trim (const std::string &string) |
| | Converts a string not to have leading, tail or subsequent.
|
| CONTRAP_CORE_API std::string | trimlr (const std::string &string) |
| | Converts a string not to have leading or tail subsequent.
|
| CONTRAP_CORE_API std::string | up (const std::string &string) |
| | Converts a string to upper case.
|
| CONTRAP_CORE_API std::string | low (const std::string &string) |
| | Converts a string to lower case.
|
| CONTRAP_CORE_API std::string | b2s (const bool value) |
| | Converts an boolean to a string.
|
| CONTRAP_CORE_API std::string | p2s (const void *pointer) |
| | Converts an pointer to a string.
|
| CONTRAP_CORE_API std::string | i2s (integer_t value) |
| | Converts an integer to a string.
|
| CONTRAP_CORE_API std::string | d2s (floating_t value, size_t decimal=0) |
| | Converts a double to a string.
|
| CONTRAP_CORE_API floating_t | s2d (const std::string &value) |
| | Converts a string to a double.
|
| CONTRAP_CORE_API integer_t | s2i (const std::string &value) |
| | Converts a string to an int.
|
| CONTRAP_CORE_API integer_t | s2ih (const std::string &value) |
| | Converts a string in hexadecimal representation to an int.
|
| CONTRAP_CORE_API bool | is_number (const std::string &value) |
| | Checks if the string is a number.
|
| CONTRAP_CORE_API bool | is_float (const std::string &value) |
| | Checks if the string is a floating point number.
|
| CONTRAP_CORE_API bool | is_hex (const std::string &value) |
| | Checks if the string is a hexdecimal number.
|
| CONTRAP_CORE_API bool | starts_with (const std::string &string, const std::string &start) |
| | Checks if a string starts with a certain phrase.
|
| CONTRAP_CORE_API bool | matches (const std::string &text, size_t position, const std::string &phrase) |
| | Checks if a string matches with a certain phrase a the given position.
|
| CONTRAP_CORE_API bool | ends_with (const std::string &string, const std::string &end) |
| | Checks if a string ends with a certain phrase.
|
| CONTRAP_CORE_API std::string | underscore_string (const std::string &input) |
| | Creates a new string from an input string, where each non-letter or number is replaced by "_".
|
| CONTRAP_CORE_API std::string | remove_comments (const std::string &string) |
| | Throws away all characters after a hash symbol.
|
| CONTRAP_CORE_API std::string | remove_invisible_symbols (const std::string &input) |
| | Removes all invisible and non ASCII symbols.
|
| CONTRAP_CORE_API std::string | insert_line_breaks (const std::string &input, int length) |
| | Inserts new lines into a string to ensure the text the given length in each line.
|
| CONTRAP_CORE_API std::string | escape_symbol (const std::string &string, char symbol, const std::string &escape) |
| | Escapes each occurrence of the given symbol.
|
| CONTRAP_CORE_API std::string | replace (const std::string &string, const std::string &query, const std::string &replace) |
| | Replaces a single query.
|
| CONTRAP_CORE_API std::string | multiple_replace (const std::string &string, const std::vector< std::string > &queries, const std::vector< std::string > &replace) |
| | Replaces a multiple set of queries one after another.
|
| CONTRAP_CORE_API std::string | trim_size (const std::string &input, int length) |
| | Trims a string to the given length by removing inner symbols and inserting a ...
|
CONTRAP_CORE_API std::vector
< std::string > | break_string (const std::string &input) |
| | Creates an array of strings separated by the exactly the selector ':' excluding ':=' and '::'.
|
CONTRAP_CORE_API std::vector
< double > | break_string (const std::string &input, const std::string &delimiters) |
| | Creates a double array from a string with given separators.
|
CONTRAP_CORE_API std::vector
< std::string > | break_strings (const std::string &input, const std::string &delimiters) |
| | Creates an array of strings separated by the given delimiter.
|
| CONTRAP_CORE_API bool | string_to_range (const std::string &input, double &min, double &max, const std::string &delimiter="..") |
| | Interprets a string as a range separated by a given delimiter symbol ('..' by default)
|
CONTRAP_CORE_API std::vector
< std::string > | get_cpp_error (const std::string &input) |
| | Finds compiler error messages for the GNU C++ compiler.
|
| CONTRAP_CORE_API std::string | replace_tokens (const std::string &input, const std::string &query, const std::string &replacement, const std::string &delimiters) |
| | Replaces in a given string occurrences of a query string, which are tokens with respect to a given set of delimiters.
|
| CONTRAP_CORE_API std::string | to_rich_text (const std::string &text) |
| | Prepares the string for meta-ritch text output.
|
| CONTRAP_CORE_API std::string | to_cpp_text (const std::string &text) |
| | Prepares a string for printing to a C++ file.
|
| CONTRAP_CORE_API size_t | find_delimiter (const std::string &text) |
| | Returns the position of a single ":" from the beginning in the string or std::string::npos.
|
| CONTRAP_CORE_API int | count_occurrences (const std::string &text, const std::string &query) |
| | Counts the number of occurrences of a substring in the string.
|
| CONTRAP_CORE_API std::string | get_current_directory () |
| | Returns the current directory.
|
| CONTRAP_CORE_API std::string | get_home_directory () |
| | Returns the path to the home directory (which is meant to be the user space to store local ContRap information)
|
CONTRAP_CORE_API const
std::string & | get_contrap_install_path () |
| | Returns the installation path of ContRap.
|
| CONTRAP_CORE_API std::string | get_environment_variable (const std::string &variable) |
| | Returns the environment variable with the given name.
|
| CONTRAP_CORE_API void | sleep_ms (int time) |
| | Suspends the process for a given number of milliseconds.
|
| CONTRAP_CORE_API void | set_user_signal (void(*callback)(int)) |
| | Sets the callback for the user level interrupt.
|
| template<class C , class T > |
| SPtr< C > | cast (const SPtr< T > &object) |
| | Casts a smart pointer to a different type.
|
| template<class C , class T > |
| SPtr< C > | abort_cast (const SPtr< T > &object, const std::string &message="Invalid cast") |
| | Casts a smart pointer to a different type.
|
| template<class C , class T > |
| SPtr< C > | hard_cast (const SPtr< T > &object, const std::string &message="Invalid type cast") |
| | Casts a smart pointer to a different type.
|
| template<class T > |
| SPtr< T > | cast (const DPtr &object) |
| | Casts a data pointer to a smart pointer.
|
| template<class T > |
| SPtr< T > | abort_cast (const DPtr &object, const std::string &message="Invalid type cast") |
| | Casts a data pointer to a smart pointer.
|
| template<class T > |
| SPtr< T > | hard_cast (const DPtr &object, const std::string &message) |
| | Casts a data pointer to a smart pointer.
|
| CONTRAP_CORE_API std::string | to_xml (const std::string &message) |
| | Encodes a message to XML format by escaping all XML-tags.
|
| CONTRAP_CORE_API std::string | from_xml (const std::string &message) |
| | Decodes a message with escaped XML-charactes back to normal text.
|
Variables |
| std::ostringstream | out |
| | Stream for intermediate result output.
|
| const Operator | internal_operators [] |
| | List of built in operators.
|