Advanced General Platform version 1.1.2 API Specification

This is the API specification for the Advanced General Platform version 1.1.2. It is a work-in-progress, the specifications and implementation details may change without notice. Read more about this project at http://libagp.narechk.net/.

See the example source code to get familiar with the platform:

Example Description Category
E00-Hello.cpp hello world example General
E00-PrintArgs.cpp prints command line arguments to standard output General
E00-PrintEnv.cpp prints the program environment to standard output General, Runtime
E03-Enumerate.cpp demonstrates the use of Containers::enumerate method Containers
E04-Serialization.cpp object serialization and deserialization example Io
E05-DirectoryList.cpp list the files that match a given file name pattern in a directory Io, FileSystem
E07-Alarm.cpp demonstration of simple multi-threaded execution Threading
E07-Interrupt.cpp demonstrates thread interruption using Task::interrupt method Threading
E07-ProducerConsumer.cpp demonstrates cooperation between multiple threads within a program Threading
E08-ClientServer.cpp sends a message from a client to a server over TCP/IP socket Threading, Networking
E40-XML.cpp demonstrates the use of XML import, export and manipulation Text
E51-Codecs.cpp demonstrates the use of Codecs to encode and decode byte streams Io

 

Namespaces Summarycollapse
[globals]
          Global constructs.
Platform
          Defines fundamental types and operations used by the platform.
Platform::Arrays
          Provides operations for manipulating native C arrays (copying, searching, sorting etc).
Platform::Chr
          Provides operations for manipulating characters (comparison, case transform, attribute examination etc).
Platform::Containers
          Provides constructs that define generic collections such as dynamic arrays, lists, sets, maps etc.
Platform::Containers::Names
          Provides additional container names for convinience.
Platform::Io
          Provides constructs allowing serialization and deserialization of data, manipulation of input and output streams and handling of files and directories.
Platform::Lang
          Provides language extending constructs for manipulating generic types.
Platform::Lang::TypeActors
          Provides the default function objects (functors) for common operations on arbitrary types such as comparison, equiality test, hash code computation and exchange.
Platform::Lang::TypeConcepts
          Provides constructs that define fundamental type concepts such as NonCopyable, Synchronizable, Throwable etc.
Platform::Lang::TypeEvaluators
          Provides constructs for compile-time evaluation and transformation of types.
Platform::Lang::TypeProperties
          Provides constructs that define properties of built-in types.
Platform::Math
          Provides basic numeric operations such as trigonometric and logarithmic functions, square root, rounding etc.
Platform::Mem
          Provides operations for manipulating memory blocks (copying, comparison etc).
Platform::Net
          Provides networking support.
Platform::Runtime
          Provides operations and constructs allowing a program to interact with its run-time environment.
Platform::Str
          Provides operations for manipulating native C strings (copying, comparison, conversion, formatting etc).
Platform::Text
          Provides advanced functions to manipulate strings allowing import and export in different UTF encodings and more.
Platform::Text::Xml
          Provides basic support for XML import, export and handling.
Platform::Thread
          Provides synchronization primitives and constructs allowing creation and control of execution threads.
Platform::Util
          Provides utility operations such as min, max, gcd, lcm, swap etc.
Platform::Util::Codec
          Provides operations and algorithms for data coding and decoding.
Platform::Util::Random
          Provides operations and algorithms to generate (pseudo-) random numbers.