Bond 0.9
C++ Bond Runtime Library API Documentation
Loading...
Searching...
No Matches
Bond Namespace Reference

Namespaces

namespace  IO

Classes

class  Allocator
 Abstract base class defining the interface through which all components of Bond perform memory and object allocations. More...
class  ArraySubscriptExpression
 Represents an array subscript expression. More...
class  AutoStack
class  BinaryExpression
 Represents a binary operator expression. More...
class  CastExpression
 Represents an explicit cast expression. More...
class  CastVisitor
class  CboLoader
 Loads CBO modules and resolves their native function bindings. More...
class  CboValidator
 A validator for Bond CBO bytecode streams. More...
class  CharStream
 An iterator over the contents of a stream of text. More...
class  CodeGenerator
 A code generator for the Bond scripting language. More...
class  CodeSegment
 Collection of functions, static initializers and data loaded from CBO files. More...
class  Collectable
 Base class for objects tracked by a Collector. More...
class  Collector
 Tracks and destroys Collectable objects. More...
class  CompilerError
 A container for error information reported by the various components of the Bond compiler. More...
class  CompilerErrorBuffer
 A container for CompilerError instances generated by the various components of the Bond compiler. More...
class  CompoundStatement
 Represents a block statement and its local scope. More...
class  ConditionalExpression
 Represents a ternary conditional expression. More...
class  ConstantLiteralExpression
 Represents a literal constant expression. More...
struct  ConstantTable
 Collection of per-CBO Constant tables. More...
struct  DataEntry
 A named data slot loaded from CBO global data tables. More...
class  DataView
 An immutable object that encapsulates a pointer to a constant contiguous block of memory representing arbitrary binary data and a count of the number of bytes of data. More...
class  DataViewIndex
 An immutable object that encapsulates an array of named constant DataView objects. More...
class  DeclarativeStatement
 Represents a declarative statement with one or more named initializers. More...
class  DefaultAllocator
 A simple implementation of Allocator that allocates and frees memory using the new and delete operators and also tracks the number of outstanding allocations. More...
class  Disassembler
 A disassembler for Bond bytecode and CBO streams. More...
class  EmptyExpression
 Represents an intentionally empty expression. More...
class  EnumDeclaration
 Represents an enum declaration. More...
class  Enumerator
 Represents a single enum value. More...
class  Exception
 Exception thrown for all types of errors in the Bond Runtime Library. More...
class  Expression
 Base class for expression nodes. More...
class  ExpressionStatement
 Represents a statement that evaluates an expression. More...
class  ForStatement
 Represents a for loop and its local scope. More...
class  FrontEnd
 A compiler front end for the Bond scripting language. More...
struct  Function
 Function metadata and executable payload loaded from CBO. More...
class  FunctionCallExpression
 Represents a function call expression. More...
class  FunctionDefinition
 Represents a function declaration or definition. More...
class  FunctionPrototype
 Represents a function signature. More...
class  IdentifierExpression
 Represents an identifier expression. More...
class  IfStatement
 Represents an if/else statement. More...
class  IncludeDirective
 Represents an include directive. More...
class  Initializer
 Represents a scalar or aggregate initializer. More...
class  InputStream
 An abstract interface for performing both unformatted and formatted input operations. More...
class  InputStreamAdaptor
 A wrapper around an InputStream that adds formatted input operations used within the Bond Standard Library. More...
class  InvocationStackFrame
class  JumpStatement
 Represents a break, continue, or return statement. More...
class  Lexer
 A lexer for the Bond scripting language. More...
class  ListParseNode
 Base class for parse nodes that can be linked into singly linked lists. More...
class  MemberExpression
 Represents member access on a struct-like value. More...
class  MemoryInputStream
 A concrete implementation of InputStream that performs input operations from an in-memory buffer. More...
class  MemoryOutputStream
 A concrete implementation of OutputStream that performs output operations to an in-memory buffer. More...
class  MemoryStreamFactory
 A concrete implementation of StreamFactory that instantiates MemoryInputStreams for a fixed collection of DataViews. More...
class  NamedInitializer
 Represents a named variable initializer. More...
class  NamespaceDefinition
 Represents a namespace definition. More...
struct  NativeBindingCollection
class  NativeBindingGenerator
 A generator for C++ native binding declarations and definitions. More...
class  NativeBlock
 Represents a native declaration block. More...
struct  NativeFunctionBinding
class  OutputStream
 An abstract interface for performing both unformatted and formatted output operations. More...
class  OutputStreamAdaptor
 A wrapper around an OuputStream that adds formatted output operations used within the Bond Standard Library. More...
class  Parameter
 Represents a function parameter. More...
struct  ParamListSignature
 Signature metadata for a function's parameter list. More...
struct  ParamSignature
 Signature metadata for a single function parameter. More...
class  ParseNode
 Base class for all parse tree nodes. More...
struct  ParseNodeCount
 A set of counters for Bond parse node types. More...
class  ParseNodeCounter
 A parse tree traverser that counts encountered parse nodes. More...
class  ParseNodeList
 Helper container for singly linked lists of parse nodes. More...
class  ParseNodeTraverser
 A concrete implementation of ParseNodeVisitor that, in addition to visiting a ParseNode, does a depth-first traversal its children and visits them too. More...
class  ParseNodeVisitor
 An abstract interface that implements the Visitor pattern over all concrete types that derive from ParseNode. More...
class  ParseNodeVisitorAdapter
 A concrete implementation of ParseNodeVisitor with methods that do nothing. More...
class  Parser
 A parser for the Bond scripting language. More...
class  ParseTreePrinter
 A printer for Bond parse trees. More...
class  PostfixExpression
 Represents a postfix operator expression. More...
class  PrettyPrinter
 A formatter for Bond parse trees. More...
class  PropertyofExpression
 Represents sizeof/alignof style property queries. More...
class  QualifiedIdentifier
 Represents a potentially qualified identifier. More...
class  QualifiedName
 An immutable wrapper around a constant array of C-style strings to represent the fully qualified name of a symbol in compiled Bond bytecode. More...
class  ResolvedSwitchLabel
 Represents a resolved switch label used for code generation. More...
struct  ReturnSignature
 Signature metadata for a function return value. More...
class  SemanticAnalyzer
 A semantic analyzer for a parse tree generated from the Bond scripting language. More...
class  StackFrame
class  StdErrOutputStream
 A concrete implementation of StdioOutputStream bound to stderr. More...
class  StdInInputStream
 A concrete implementation of StdioInputStream bound to stdin. More...
class  StdioFileHandle
 A handle to a stdio FILE* to ensure that the file is properly disposed using RAII. More...
class  StdioInputStream
 A concrete implementation of InputStream that performs input operations from a stdio FILE*. More...
class  StdioOutputStream
 A concrete implementation of OutputStream that performs output operations to a stdio FILE*. More...
class  StdioStreamFactory
 A concrete implementation of StreamFactory that creates instances of StdioInputStream and StdioOutputStream. More...
class  StdOutOutputStream
 A concrete implementation of StdioOutputStream bound to stdout. More...
class  Stream
 A base interface for performing IO operations. More...
class  StreamFactory
 An abstract interface for creating file streams without being coupled to any particular concrete type of stream. More...
struct  StreamPos
 A POD struct to contain the index, line and column of a token in source code. More...
class  StructDeclaration
 Represents a struct declaration. More...
class  SwitchLabel
 Represents a case or default label in a switch section. More...
class  SwitchSection
 Represents one labeled section inside a switch statement. More...
class  SwitchStatement
 Represents a switch statement. More...
class  Symbol
 Base class for named entities that participate in symbol lookup. More...
class  SymbolTable
 A hierarchical symbol table used by the Bond compiler. More...
class  ThisExpression
 Represents a this expression. More...
class  Token
 A token describing a syntactic unit of the Bond scripting language (e.g. keywords, identifiers, literal constants and operators). More...
class  TokenCollection
 An ordered immutable collection of Tokens. More...
class  TokenStream
 An iterator over the contents of a TokenCollection. More...
class  TokenTypeSet
 Represents a collection of related TokenTypes. More...
class  TranslationUnit
 Represents a complete parsed source file. More...
class  TypeAndValue
 Contains the information regarding the type and value of an expression as it is evaluated by the compiler. More...
class  TypeDescriptor
 Describes a resolved or partially resolved Bond type. More...
class  TypeSpecifier
 Represents a parsed type specifier. More...
class  UnaryExpression
 Represents a unary operator expression. More...
union  Value
 Union of all value types representable by a Token in the Bond compiler. More...
union  Value16
 Union of all 16 bit value types used within the Bond compiler, the CBO file format, and the Bond Virtual Machine. More...
union  Value32
 Union of all 32 bit value types used within the Bond compiler, the CBO file format, and the Bond Virtual Machine. More...
union  Value64
 Union of all 64 bit value types used within the Bond compiler, the CBO file format, and the Bond Virtual Machine. More...
class  VM
class  WhileStatement
 Represents a while or do-while loop. More...
class  WrapperCollectable
 A Collectable wrapper for arbitrary content. More...

Typedefs

typedef void(* NativeFunction) (StackFrame &frame)
typedef Allocator::Handle< const TokenCollectionTokenCollectionHandle
 An owning pointer to a dynamically allocated TokenCollection.
typedef Vector< TokenCollectionHandleTokenCollectionStore
 A collection of dynamically allocated TokenCollection.
typedef Allocator::ObjectHandle< ParseNodeParseNodeHandle
 An owning pointer to a dynamically allocated ParseNode.
typedef Vector< ParseNodeHandleParseNodeStore
 A collection of dynamically allocated ParseNodes.
typedef Allocator::ObjectHandle< InputStreamInputStreamHandle
 An owning pointer to a dynamically allocated InputStream.
typedef Allocator::ObjectHandle< OutputStreamOutputStreamHandle
 An owning pointer to a dynamically allocated OutputStream.
typedef AutoStack< bool > BoolStack
typedef AutoStack< int32_t > IntStack
typedef AutoStack< uint32_t > UIntStack
typedef AutoStack< size_t > SizeStack
typedef Allocator::AlignedHandle< const CodeSegmentCodeSegmentHandle
 An owning pointer to a dynamically allocated CodeSegment.
typedef Allocator::ObjectHandle< CollectableCollectableHandle
 An owning pointer to a dynamically allocated Collectable.
typedef AutoStack< StackFrameStackFrames

Enumerations

enum  Scope { SCOPE_GLOBAL , SCOPE_LOCAL , SCOPE_STRUCT_MEMBER }
 Describes where a symbol is declared. More...
enum  OpCode {
  OPCODE_NOP , OPCODE_CONSTC , OPCODE_CONSTUC , OPCODE_CONSTS ,
  OPCODE_CONSTUS , OPCODE_CONST32 , OPCODE_CONST64 , OPCODE_CONSTI_N2 ,
  OPCODE_CONSTI_N1 , OPCODE_CONSTI_0 , OPCODE_CONSTI_1 , OPCODE_CONSTI_2 ,
  OPCODE_CONSTI_3 , OPCODE_CONSTI_4 , OPCODE_CONSTI_8 , OPCODE_CONSTL_N2 ,
  OPCODE_CONSTL_N1 , OPCODE_CONSTL_0 , OPCODE_CONSTL_1 , OPCODE_CONSTL_2 ,
  OPCODE_CONSTL_3 , OPCODE_CONSTL_4 , OPCODE_CONSTL_8 , OPCODE_CONSTF_N2 ,
  OPCODE_CONSTF_N1 , OPCODE_CONSTF_NH , OPCODE_CONSTF_0 , OPCODE_CONSTF_H ,
  OPCODE_CONSTF_1 , OPCODE_CONSTF_2 , OPCODE_CONSTD_N2 , OPCODE_CONSTD_N1 ,
  OPCODE_CONSTD_NH , OPCODE_CONSTD_0 , OPCODE_CONSTD_H , OPCODE_CONSTD_1 ,
  OPCODE_CONSTD_2 , OPCODE_LOADFP , OPCODE_LOADFPW , OPCODE_LOADEA ,
  OPCODE_LOADSTR , OPCODE_LOADC , OPCODE_LOADUC , OPCODE_LOADS ,
  OPCODE_LOADUS , OPCODE_LOAD32 , OPCODE_LOAD64 , OPCODE_LOADMEMW ,
  OPCODE_STOREC , OPCODE_STORES , OPCODE_STORE32 , OPCODE_STORE64 ,
  OPCODE_PUSHC , OPCODE_PUSHCW , OPCODE_PUSHUC , OPCODE_PUSHUCW ,
  OPCODE_PUSHS , OPCODE_PUSHSW , OPCODE_PUSHUS , OPCODE_PUSHUSW ,
  OPCODE_PUSH32 , OPCODE_PUSH32W , OPCODE_PUSH32_P0 , OPCODE_PUSH32_P1 ,
  OPCODE_PUSH32_P2 , OPCODE_PUSH32_P3 , OPCODE_PUSH32_L0 , OPCODE_PUSH32_L1 ,
  OPCODE_PUSH32_L2 , OPCODE_PUSH32_L3 , OPCODE_PUSH64 , OPCODE_PUSH64W ,
  OPCODE_PUSH64_P0 , OPCODE_PUSH64_P1 , OPCODE_PUSH64_P2 , OPCODE_PUSH64_P3 ,
  OPCODE_PUSH64_L0 , OPCODE_PUSH64_L1 , OPCODE_PUSH64_L2 , OPCODE_PUSH64_L3 ,
  OPCODE_POP , OPCODE_POPC , OPCODE_POPCW , OPCODE_POPS ,
  OPCODE_POPSW , OPCODE_POP32 , OPCODE_POP32W , OPCODE_POP32_P0 ,
  OPCODE_POP32_P1 , OPCODE_POP32_P2 , OPCODE_POP32_P3 , OPCODE_POP32_L0 ,
  OPCODE_POP32_L1 , OPCODE_POP32_L2 , OPCODE_POP32_L3 , OPCODE_POP64 ,
  OPCODE_POP64W , OPCODE_POP64_P0 , OPCODE_POP64_P1 , OPCODE_POP64_P2 ,
  OPCODE_POP64_P3 , OPCODE_POP64_L0 , OPCODE_POP64_L1 , OPCODE_POP64_L2 ,
  OPCODE_POP64_L3 , OPCODE_MEMCOPYW , OPCODE_MEMZEROW , OPCODE_DUP ,
  OPCODE_DUPINS , OPCODE_SWAP , OPCODE_ITOC , OPCODE_UITOUC ,
  OPCODE_ITOS , OPCODE_UITOUS , OPCODE_ITOL , OPCODE_UITOUL ,
  OPCODE_ITOF , OPCODE_UITOF , OPCODE_ITOD , OPCODE_UITOD ,
  OPCODE_LTOI , OPCODE_LTOF , OPCODE_ULTOF , OPCODE_LTOD ,
  OPCODE_ULTOD , OPCODE_FTOI , OPCODE_FTOUI , OPCODE_FTOL ,
  OPCODE_FTOUL , OPCODE_FTOD , OPCODE_DTOI , OPCODE_DTOUI ,
  OPCODE_DTOL , OPCODE_DTOUL , OPCODE_DTOF , OPCODE_PTROFF ,
  OPCODE_PTRDIFF , OPCODE_INCI , OPCODE_INCL , OPCODE_ADDI ,
  OPCODE_ADDL , OPCODE_ADDF , OPCODE_ADDD , OPCODE_SUBI ,
  OPCODE_SUBL , OPCODE_SUBF , OPCODE_SUBD , OPCODE_MULI ,
  OPCODE_MULUI , OPCODE_MULL , OPCODE_MULUL , OPCODE_MULF ,
  OPCODE_MULD , OPCODE_DIVI , OPCODE_DIVUI , OPCODE_DIVL ,
  OPCODE_DIVUL , OPCODE_DIVF , OPCODE_DIVD , OPCODE_REMI ,
  OPCODE_REMUI , OPCODE_REML , OPCODE_REMUL , OPCODE_LSHI ,
  OPCODE_LSHL , OPCODE_RSHI , OPCODE_RSHUI , OPCODE_RSHL ,
  OPCODE_RSHUL , OPCODE_ANDI , OPCODE_ANDL , OPCODE_ORI ,
  OPCODE_ORL , OPCODE_XORI , OPCODE_XORL , OPCODE_NEGI ,
  OPCODE_NEGL , OPCODE_NEGF , OPCODE_NEGD , OPCODE_NOT ,
  OPCODE_CMPEQI , OPCODE_CMPEQL , OPCODE_CMPEQF , OPCODE_CMPEQD ,
  OPCODE_CMPNEQI , OPCODE_CMPNEQL , OPCODE_CMPNEQF , OPCODE_CMPNEQD ,
  OPCODE_CMPLTI , OPCODE_CMPLTUI , OPCODE_CMPLTL , OPCODE_CMPLTUL ,
  OPCODE_CMPLTF , OPCODE_CMPLTD , OPCODE_CMPLEI , OPCODE_CMPLEUI ,
  OPCODE_CMPLEL , OPCODE_CMPLEUL , OPCODE_CMPLEF , OPCODE_CMPLED ,
  OPCODE_CMPGTI , OPCODE_CMPGTUI , OPCODE_CMPGTL , OPCODE_CMPGTUL ,
  OPCODE_CMPGTF , OPCODE_CMPGTD , OPCODE_CMPGEI , OPCODE_CMPGEUI ,
  OPCODE_CMPGEL , OPCODE_CMPGEUL , OPCODE_CMPGEF , OPCODE_CMPGED ,
  OPCODE_BRZ , OPCODE_BRZW , OPCODE_BRNZ , OPCODE_BRNZW ,
  OPCODE_NBRZ , OPCODE_NBRZW , OPCODE_NBRNZ , OPCODE_NBRNZW ,
  OPCODE_IFZ , OPCODE_IFZW , OPCODE_IFNZ , OPCODE_IFNZW ,
  OPCODE_GOTO , OPCODE_GOTOW , OPCODE_LOOKUPSWITCH , OPCODE_TABLESWITCH ,
  OPCODE_INVOKE , OPCODE_RETURN , OPCODE_RETURN32 , OPCODE_RETURN64 ,
  OPCODE_RETURNMEMW , OPCODE_MAX
}
 Enumeration of all opcodes in the Bond Virtual Machine instruction set. More...
enum  OpCodeParam {
  OC_PARAM_NONE , OC_PARAM_CHAR , OC_PARAM_UCHAR , OC_PARAM_UCHAR_CHAR ,
  OC_PARAM_SHORT , OC_PARAM_USHORT , OC_PARAM_INT , OC_PARAM_VAL32 ,
  OC_PARAM_VAL64 , OC_PARAM_OFF16 , OC_PARAM_OFF32 , OC_PARAM_STRING ,
  OC_PARAM_NAME , OC_PARAM_LOOKUPSWITCH , OC_PARAM_TABLESWITCH
}
 Enumeration describing all combinations of parameter types for the instructions in the Bond Virtual Machine instruction set. More...
enum  PointerSize { POINTER_32BIT , POINTER_64BIT }
enum  SignatureType {
  SIG_VOID , SIG_BOOL , SIG_CHAR , SIG_UCHAR ,
  SIG_SHORT , SIG_USHORT , SIG_INT , SIG_UINT ,
  SIG_LONG , SIG_ULONG , SIG_FLOAT , SIG_DOUBLE ,
  SIG_POINTER , SIG_AGGREGATE
}

Functions

void InputStream__Close (Bond::StackFrame &frame)
void InputStream__ScanStr (Bond::StackFrame &frame)
void InputStream__ScanB (Bond::StackFrame &frame)
void InputStream__ScanC (Bond::StackFrame &frame)
void InputStream__ScanI (Bond::StackFrame &frame)
void InputStream__ScanUI (Bond::StackFrame &frame)
void InputStream__ScanL (Bond::StackFrame &frame)
void InputStream__ScanUL (Bond::StackFrame &frame)
void InputStream__ScanF (Bond::StackFrame &frame)
void InputStream__ScanD (Bond::StackFrame &frame)
void InputStream__Get (Bond::StackFrame &frame)
void InputStream__Read (Bond::StackFrame &frame)
void InputStream__GetFlags (Bond::StackFrame &frame)
void InputStream__SetFlags (Bond::StackFrame &frame)
void InputStream__UnsetFlags (Bond::StackFrame &frame)
void InputStream__ClearFlags (Bond::StackFrame &frame)
void InputStream__GetPosition (Bond::StackFrame &frame)
void InputStream__GetEndPosition (Bond::StackFrame &frame)
void InputStream__SetPosition (Bond::StackFrame &frame)
void InputStream__SetPositionFromEnd (Bond::StackFrame &frame)
void InputStream__AddOffset (Bond::StackFrame &frame)
void InputStream__IsEof (Bond::StackFrame &frame)
void InputStream__HasError (Bond::StackFrame &frame)
void InputStream__ClearError (Bond::StackFrame &frame)
void OutputStream__Close (Bond::StackFrame &frame)
void OutputStream__Flush (Bond::StackFrame &frame)
void OutputStream__PrintStr (Bond::StackFrame &frame)
void OutputStream__PrintB (Bond::StackFrame &frame)
void OutputStream__PrintC (Bond::StackFrame &frame)
void OutputStream__PrintI (Bond::StackFrame &frame)
void OutputStream__PrintUI (Bond::StackFrame &frame)
void OutputStream__PrintL (Bond::StackFrame &frame)
void OutputStream__PrintUL (Bond::StackFrame &frame)
void OutputStream__PrintF (Bond::StackFrame &frame)
void OutputStream__PrintD (Bond::StackFrame &frame)
void OutputStream__Put (Bond::StackFrame &frame)
void OutputStream__Write (Bond::StackFrame &frame)
void OutputStream__GetFlags (Bond::StackFrame &frame)
void OutputStream__SetFlags (Bond::StackFrame &frame)
void OutputStream__UnsetFlags (Bond::StackFrame &frame)
void OutputStream__ClearFlags (Bond::StackFrame &frame)
void OutputStream__GetPrecision (Bond::StackFrame &frame)
void OutputStream__SetPrecision (Bond::StackFrame &frame)
void OutputStream__GetWidth (Bond::StackFrame &frame)
void OutputStream__SetWidth (Bond::StackFrame &frame)
void OutputStream__GetPosition (Bond::StackFrame &frame)
void OutputStream__GetEndPosition (Bond::StackFrame &frame)
void OutputStream__SetPosition (Bond::StackFrame &frame)
void OutputStream__SetPositionFromEnd (Bond::StackFrame &frame)
void OutputStream__AddOffset (Bond::StackFrame &frame)
void OutputStream__IsEof (Bond::StackFrame &frame)
void OutputStream__HasError (Bond::StackFrame &frame)
void OutputStream__ClearError (Bond::StackFrame &frame)
void StdIn (Bond::StackFrame &frame)
void StdOut (Bond::StackFrame &frame)
void StdErr (Bond::StackFrame &frame)
void CreateInputStream (Bond::StackFrame &frame)
void CreateInputStreamCollected (Bond::StackFrame &frame)
void CreateInputStreamWithCollector (Bond::StackFrame &frame)
void FreeInputStream (Bond::StackFrame &frame)
void CreateOutputStream (Bond::StackFrame &frame)
void CreateOutputStreamCollected (Bond::StackFrame &frame)
void CreateOutputStreamWithCollector (Bond::StackFrame &frame)
void FreeOutputStream (Bond::StackFrame &frame)
void Sin (Bond::StackFrame &frame)
void Sinf (Bond::StackFrame &frame)
void Cos (Bond::StackFrame &frame)
void Cosf (Bond::StackFrame &frame)
void Tan (Bond::StackFrame &frame)
void Tanf (Bond::StackFrame &frame)
void Asin (Bond::StackFrame &frame)
void Asinf (Bond::StackFrame &frame)
void Acos (Bond::StackFrame &frame)
void Acosf (Bond::StackFrame &frame)
void Atan (Bond::StackFrame &frame)
void Atanf (Bond::StackFrame &frame)
void Atan2 (Bond::StackFrame &frame)
void Atan2f (Bond::StackFrame &frame)
void Sinh (Bond::StackFrame &frame)
void Sinhf (Bond::StackFrame &frame)
void Cosh (Bond::StackFrame &frame)
void Coshf (Bond::StackFrame &frame)
void Tanh (Bond::StackFrame &frame)
void Tanhf (Bond::StackFrame &frame)
void Asinh (Bond::StackFrame &frame)
void Asinhf (Bond::StackFrame &frame)
void Acosh (Bond::StackFrame &frame)
void Acoshf (Bond::StackFrame &frame)
void Atanh (Bond::StackFrame &frame)
void Atanhf (Bond::StackFrame &frame)
void Exp (Bond::StackFrame &frame)
void Expf (Bond::StackFrame &frame)
void Exp2 (Bond::StackFrame &frame)
void Exp2f (Bond::StackFrame &frame)
void Log (Bond::StackFrame &frame)
void Logf (Bond::StackFrame &frame)
void Log2 (Bond::StackFrame &frame)
void Log2f (Bond::StackFrame &frame)
void Log10 (Bond::StackFrame &frame)
void Log10f (Bond::StackFrame &frame)
void Pow (Bond::StackFrame &frame)
void Powf (Bond::StackFrame &frame)
void Sqrt (Bond::StackFrame &frame)
void Sqrtf (Bond::StackFrame &frame)
void Cbrt (Bond::StackFrame &frame)
void Cbrtf (Bond::StackFrame &frame)
void Hypot (Bond::StackFrame &frame)
void Hypotf (Bond::StackFrame &frame)
void Ceil (Bond::StackFrame &frame)
void Ceilf (Bond::StackFrame &frame)
void Floor (Bond::StackFrame &frame)
void Floorf (Bond::StackFrame &frame)
void Trunc (Bond::StackFrame &frame)
void Truncf (Bond::StackFrame &frame)
void Fabs (Bond::StackFrame &frame)
void Fabsf (Bond::StackFrame &frame)
void Ldexp (Bond::StackFrame &frame)
void Ldexpf (Bond::StackFrame &frame)
void Frexp (Bond::StackFrame &frame)
void Frexpf (Bond::StackFrame &frame)
void Modf (Bond::StackFrame &frame)
void Modff (Bond::StackFrame &frame)
void Fmod (Bond::StackFrame &frame)
void Fmodf (Bond::StackFrame &frame)
void CopySign (Bond::StackFrame &frame)
void CopySignf (Bond::StackFrame &frame)
void NaN (Bond::StackFrame &frame)
void NaNf (Bond::StackFrame &frame)
void GetCollector (Bond::StackFrame &frame)
void Allocate (Bond::StackFrame &frame)
void AllocateCollected (Bond::StackFrame &frame)
void AllocateWithCollector (Bond::StackFrame &frame)
void AllocateAligned (Bond::StackFrame &frame)
void AllocateAlignedCollected (Bond::StackFrame &frame)
void AllocateAlignedWithCollector (Bond::StackFrame &frame)
void Free (Bond::StackFrame &frame)
void FreeAligned (Bond::StackFrame &frame)
void Memcpy (Bond::StackFrame &frame)
void LoadAllLibs (CboLoader &cboLoader)
void LoadLibIo (CboLoader &cboLoader)
void LoadLibMath (CboLoader &cboLoader)
void LoadLibMemory (CboLoader &cboLoader)
void LoadLibString (CboLoader &cboLoader)
void LoadLibType (CboLoader &cboLoader)
void Strlen (Bond::StackFrame &frame)
void Strcmp (Bond::StackFrame &frame)
void TryParseInt (Bond::StackFrame &frame)
void TryParseLong (Bond::StackFrame &frame)
void TryParseFloat (Bond::StackFrame &frame)
void TryParseDouble (Bond::StackFrame &frame)
void IsAlnum (Bond::StackFrame &frame)
void IsAlpha (Bond::StackFrame &frame)
void IsBlank (Bond::StackFrame &frame)
void IsCntrl (Bond::StackFrame &frame)
void IsDigit (Bond::StackFrame &frame)
void IsGraph (Bond::StackFrame &frame)
void IsLower (Bond::StackFrame &frame)
void IsPrint (Bond::StackFrame &frame)
void IsPunct (Bond::StackFrame &frame)
void IsSpace (Bond::StackFrame &frame)
void IsUpper (Bond::StackFrame &frame)
void IsXDigit (Bond::StackFrame &frame)
void ToLower (Bond::StackFrame &frame)
void ToUpper (Bond::StackFrame &frame)
uint32_t GetLength (const ListParseNode *list)
 Counts and returns the length of a list of ListParseNodes.
template<typename NodeType>
NodeType * NextNode (NodeType *list)
template<typename T>
T * CastNode (ParseNode *node)
template<typename T>
const T * CastNode (const ParseNode *node)
template<typename NodeType, typename Comparator>
NodeType * InsertNode (NodeType *head, NodeType *node, Comparator compare)
bool AreComparableTypes (const TypeDescriptor &typeA, const TypeDescriptor &typeB)
bool AreConvertibleTypes (const TypeDescriptor &fromType, const TypeDescriptor &toType)
bool AreSameTypes (const TypeDescriptor &fromType, const TypeDescriptor &toType)
bool AreAssignableTypes (const TypeDescriptor &fromType, const TypeDescriptor &toType)
bool IsLossyConversion (const TypeAndValue &fromTav, const TypeDescriptor &toType)
TypeDescriptor PromoteType (const TypeDescriptor &type)
TypeDescriptor CombineOperandTypes (const TypeDescriptor &typeA, const TypeDescriptor &typeB)
Value CastValue (const Token &fromValue, Token::TokenType toType)
Value CastValue (const TypeAndValue &fromTav, const TypeDescriptor &toType)
bool IsNegativeIntegerConstant (const Token &token)
void ValidateConfiguration ()
void PrintTo (const StringView &str, OutputStream &stream)
 Writes the characters of a StringView to the provided output stream.
void SwapBytes (uint8_t &a, uint8_t &b)
 Swaps the value of two bytes.
void ReverseByteOrder16 (uint8_t value[2])
 Reverses the order of two bytes in place.
void ReverseByteOrder32 (uint8_t value[4])
 Reverses the order of four bytes in place.
void ReverseByteOrder64 (uint8_t value[8])
 Reverses the order of eight bytes in place.
Value16 ReverseByteOrder16 (Value16 value)
 Returns a 16 bit value with its byte order reversed.
Value32 ReverseByteOrder32 (Value32 value)
 Returns a 32 bit value with its byte order reversed.
Value64 ReverseByteOrder64 (Value64 value)
 Returns a 64 bit value with its byte order reversed.
void ConvertBigEndian16 (void *value)
 Converts the byte order of a 16 bit value from native byte order to big endian or vice versa in place.
Value16 ConvertBigEndian16 (Value16 value)
 Converts the byte order of a 16 bit value from native byte order to big endian or vice versa and returns the new value.
int16_t ConvertBigEndianI16 (int16_t value)
 Converts the byte order of an int16_t from native byte order to big endian or vice versa and returns the new value.
uint16_t ConvertBigEndianU16 (uint16_t value)
 Converts the byte order of an uint16_t from native byte order to big endian or vice versa and returns the new value.
void ConvertBigEndian32 (void *value)
 Converts the byte order of a 32 bit value from native byte order to big endian or vice versa in place.
Value32 ConvertBigEndian32 (Value32 value)
 Converts the byte order of a 32 bit value from native byte order to big endian or vice versa and returns the new value.
int32_t ConvertBigEndianI32 (int32_t value)
 Converts the byte order of an int32_t from native byte order to big endian or vice versa and returns the new value.
uint32_t ConvertBigEndianU32 (uint32_t value)
 Converts the byte order of an uint32_t from native byte order to big endian or vice versa and returns the new value.
float ConvertBigEndianF32 (float value)
 Converts the byte order of a float from native byte order to big endian or vice versa and returns the new value.
void ConvertBigEndian64 (void *value)
 Converts the byte order of a 64 bit value from native byte order to big endian or vice versa and returns the new value.
Value64 ConvertBigEndian64 (Value64 value)
 Converts the byte order of a 64 bit value from native byte order to big endian or vice versa and returns the new value.
int64_t ConvertBigEndianI64 (int64_t value)
 Converts the byte order of an int64_t from native byte order to big endian or vice versa and returns the new value.
uint64_t ConvertBigEndianU64 (uint64_t value)
 Converts the byte order of an uint64_t from native byte order to big endian or vice versa and returns the new value.
double ConvertBigEndianF64 (double value)
 Converts the byte order of a double from native byte order to big endian or vice versa and returns the new value.
template<typename T>
AlignDown (T value, T align)
 Rounds an integer down to the nearest multiple of a specified power of two.
template<typename T>
AlignUp (T value, T align)
 Rounds an integer up to the nearest multiple of a specified power of two.
template<typename T>
AlignUpDelta (T value, T align)
 Returns the difference between an integer and the nearest larger multiple of a specified power of two.
template<typename T>
T * AlignPointerDown (T *ptr, size_t align)
 Rounds a pointer down the nearest multiple of a specified power of two.
template<typename T>
T * AlignPointerUp (T *ptr, size_t align)
 Rounds a pointer up to the nearest multiple of a specified power of two.
template<typename T>
IsPowerOfTwo (T value)
 Returns whether an integer is a power of two.
template<typename T>
RoundUpToPowerOfTwo32 (T value)
 Rounds a 32 bit integer up to the nearest power of two.
template<typename T>
Abs (T value)
 Returns the absolute value of a number.
template<typename T>
Min (T a, T b)
 Compares two numbers and returns the smaller of the two.
template<typename T>
Max (T a, T b)
 Compares two numbers and returns the larger of the two.
uint32_t EncodeSizeAndType (uint32_t size, SignatureType type)
 Packs a size and SignatureType into a single encoded integer.
void DecodeSizeAndType (uint32_t sizeAndType, uint32_t &size, SignatureType &type)
 Unpacks an encoded size-and-type value.
PointerSize DecodePointerSize (uint16_t flags)
 Decodes pointer size information from CBO flags.
uint16_t EncodePointerSize (uint16_t flags, PointerSize pointerSize)
 Encodes pointer size information into CBO flags.
bool IsCBOFormatLoadable (uint32_t majorVersion, uint32_t minorVersion)
 Determines whether a CBO format version can be loaded.
bool IsCBOFormatSupported (uint32_t majorVersion, uint32_t minorVersion)
 Determines whether a CBO format version is fully supported.
const char * GetOpCodeMnemonic (OpCode opCode)
 Returns a string representation of the given opcode.
OpCodeParam GetOpCodeParamType (OpCode opCode)
 Returns a value of the OpCodeParam enumeration describing the parameter types for the given opcode.
int32_t GetStackDelta (OpCode opCode)
 Returns the how much the given opcode moves the stack pointer in multiples of BOND_SLOT_SIZE bytes.
uint32_t GetPointerSize (PointerSize pointerSize)
const char * GetBondTypeMnemonic (SignatureType signatureType)
char * ExpandBondTypeMnemonic (char *buffer, size_t length, SignatureType signatureType, uint32_t size)
const char * GetApiTypeMnemonic (SignatureType signatureType)
char * ExpandApiTypeMnemonic (char *buffer, size_t length, SignatureType signatureType, uint32_t size)
bool operator< (const Value16 &a, const Value16 &b)
 Returns the result of the expression: a.mUShort < b.mUShort.
bool operator< (const Value32 &a, const Value32 &b)
 Returns the result of the expression: a.mUInt < b.mUInt.
bool operator< (const Value64 &a, const Value64 &b)
 Returns the result of the expression: a.mULong < b.mULong.

Variables

const DataViewIndex INCLUDE_FILE_INDEX
const Bond::NativeBindingCollection IO_BINDING_COLLECTION
const Bond::NativeBindingCollection MATH_BINDING_COLLECTION
const Bond::NativeBindingCollection MEMORY_BINDING_COLLECTION
const Bond::NativeBindingCollection STRING_BINDING_COLLECTION
const Bond::NativeBindingCollection TYPE_BINDING_COLLECTION
const TypeSpecifier VOID_TYPE_SPECIFIER
 Canonical void type specifier instance.
const TypeSpecifier BOOL_TYPE_SPECIFIER
 Canonical bool type specifier instance.
const TypeSpecifier CHAR_TYPE_SPECIFIER
 Canonical char type specifier instance.
const TypeSpecifier INT_TYPE_SPECIFIER
 Canonical int type specifier instance.
const TypeSpecifier UINT_TYPE_SPECIFIER
 Canonical uint type specifier instance.
const TypeSpecifier LONG_TYPE_SPECIFIER
 Canonical long type specifier instance.
const TypeSpecifier ULONG_TYPE_SPECIFIER
 Canonical ulong type specifier instance.
const TypeSpecifier FLOAT_TYPE_SPECIFIER
 Canonical float type specifier instance.
const TypeSpecifier DOUBLE_TYPE_SPECIFIER
 Canonical double type specifier instance.
const Token VOID_TOKEN
 Constant Token of type KEY_VOID representing the void keyword.
const Token BOOL_TOKEN
 Constant Token of type KEY_BOOL representing the bool keyword.
const Token CHAR_TOKEN
 Constant Token of type KEY_CHAR representing the char keyword.
const Token UCHAR_TOKEN
 Constant Token of type KEY_UCHAR representing the uchar keyword.
const Token INT_TOKEN
 Constant Token of type KEY_INT representing the int keyword.
const Token UINT_TOKEN
 Constant Token of type KEY_UINT representing the uint keyword.
const Token LONG_TOKEN
 Constant Token of type KEY_LONG representing the long keyword.
const Token ULONG_TOKEN
 Constant Token of type KEY_ULONG representing the ulong keyword.
const Token FLOAT_TOKEN
 Constant Token of type KEY_FLOAT representing the float keyword.
const Token DOUBLE_TOKEN
 Constant Token of type KEY_DOUBLE representing the double keyword.
const TokenTypeSet PRIMITIVE_TYPE_SPECIFIERS_TYPESET
 Constant TokenTypeSet of all keywords representing Bond primitive types namely: KEY_BOOL, KEY_CHAR, KEY_UCHAR, KEY_SHORT, KEY_USHORT, KEY_INT, KEY_UINT, KEY_LONG, KEY_ULONG, KEY_FLOAT, KEY_DOUBLE and KEY_VOID.
const TokenTypeSet BOOLEAN_TYPE_SPECIFIERS_TYPESET
 Constant TokenTypeSet containing only KEY_BOOL.
const TokenTypeSet CHAR_TYPE_SPECIFIERS_TYPESET
 Constant TokenTypeSet of all keywords representing Bond character types, namely: KEY_CHAR and KEY_UCHAR.
const TokenTypeSet INTEGER_TYPE_SPECIFIERS_TYPESET
 Constant TokenTypeSet of all keywords representing Bond integral types, namely: KEY_CHAR, KEY_UCHAR, KEY_SHORT, KEY_USHORT, KEY_INT, KEY_UINT, KEY_LONG and KEY_ULONG.
const TokenTypeSet SIGNED_INTEGER_TYPE_SPECIFIERS_TYPESET
 Constant TokenTypeSet of all keywords representing Bond signed integral types, namely: KEY_CHAR, KEY_SHORT, KEY_INT and KEY_LONG.
const TokenTypeSet UNSIGNED_INTEGER_TYPE_SPECIFIERS_TYPESET
 Constant TokenTypeSet of all keywords representing Bond unsigned integral types, namely: KEY_UCHAR, KEY_USHORT, KEY_UINT and KEY_ULONG.
const TokenTypeSet LEAST32_INTEGER_TYPE_SPECIFIERS_TYPESET
 Constant TokenTypeSet of all keywords representing Bond integral types having at least 32 bits, namely: KEY_INT, KEY_UINT, KEY_LONG and KEY_ULONG.
const TokenTypeSet MOST32_INTEGER_TYPE_SPECIFIERS_TYPESET
 Constant TokenTypeSet of all keywords representing Bond integral types having at most 32 bits, namely: KEY_CHAR, KEY_UCHAR, KEY_SHORT, KEY_USHORT, KEY_INT and KEY_UINT.
const TokenTypeSet LONG_INTEGER_TYPE_SPECIFIERS_TYPESET
 Constant TokenTypeSet of all keywords representing Bond long integral types, namely: KEY_LONG and KEY_ULONG.
const TokenTypeSet NUMERIC_TYPE_SPECIFIERS_TYPESET
 Constant TokenTypeSet of all keywords representing Bond numeric types, namely: KEY_CHAR, KEY_UCHAR, KEY_SHORT, KEY_USHORT, KEY_INT, KEY_UINT, KEY_LONG, KEY_ULONG, KEY_FLOAT and KEY_DOUBLE.
const TokenTypeSet VOID_TYPE_SPECIFIERS_TYPESET
 Constant TokenTypeSet containing only KEY_VOID.
const TokenTypeSet TYPE_DESCRIPTORS_TYPESET
 Constant TokenTypeSet of all punctuation token types used to begin a new level of indirection in type descriptors, namely: OP_STAR and OBRACKET.
const TokenTypeSet MOST32_INTEGER_CONSTANTS_TYPESET
 Constant TokenTypeSet of all integral literal constants having at most 32 bits, namely: CONST_CHAR, CONST_INT and CONST_UINT.
const TokenTypeSet SIGNED_INTEGER_CONSTANTS_TYPESET
 Constant TokenTypeSet of all signed integral literal constants, namely: CONST_CHAR, CONST_INT and CONST_LONG.
const TokenTypeSet JUMP_KEYWORDS_TYPESET
 Constant TokenTypeSet of all keywords used for jumps in Bond source code, namely: KEY_BREAK, KEY_CONTINUE and KEY_RETURN.
const TokenTypeSet SWITCH_LABELS_TYPESET
 Constant TokenTypeSet of all keywords used for defining case labels in Bond switch statements, namely: KEY_CASE and KEY_DEFAULT.
const TokenTypeSet ASSIGNMENT_OPERATORS_TYPESET
 Constant TokenTypeSet of all Bond assignment operators, namely: ASSIGN, ASSIGN_LEFT, ASSIGN_RIGHT, ASSIGN_PLUS, ASSIGN_MINUS, ASSIGN_MULT, ASSIGN_DIV, ASSIGN_MOD, ASSIGN_AND, ASSIGN_OR and ASSIGN_XOR.
const TokenTypeSet EQUALITY_OPERATORS_TYPESET
 Constant TokenTypeSet of all Bond equality operators, namely: OP_EQUAL, OP_NOT_EQUAL.
const TokenTypeSet RELATIONAL_OPERATORS_TYPESET
 Constant TokenTypeSet of all Bond relational operators, namely: OP_LT, OP_LTE, OP_GT and OP_GTE.
const TokenTypeSet SHIFT_OPERATORS_TYPESET
 Constant TokenTypeSet of all Bond shift operators, namely: OP_LEFT and OP_RIGHT.
const TokenTypeSet ADDITIVE_OPERATORS_TYPESET
 Constant TokenTypeSet of all Bond additive arithmetic operators, namely: OP_PLUS and OP_MINUS.
const TokenTypeSet MULTIPLICATIVE_OPERATORS_TYPESET
 Constant TokenTypeSet of all Bond multiplicative arithmetic operators, namely: OP_STAR, OP_DIV and OP_MOD.
const TokenTypeSet UNARY_OPERATORS_TYPESET
 Constant TokenTypeSet of all Bond prefix unary operators, namely: OP_PLUS, OP_MINUS, OP_STAR, OP_INC, OP_DEC, OP_NOT, OP_AMP and OP_BIT_NOT.
const TokenTypeSet POSTFIX_OPERATORS_TYPESET
 Constant TokenTypeSet of all Bond postfix unary operators, namely: OP_INC, OP_DEC, OP_ARROW, OPAREN, OBRACKET and PERIOD.
const TokenTypeSet PROPERTYOF_OPERATORS_TYPESET
 Constant TokenTypeSet of all Bond operators for retrieving type properties, namely: KEY_ALIGNOFand KEY_SIZEOF.
const TokenTypeSet CONSTANT_LITERALS_TYPESET
 Constant TokenTypeSet of all Bond constant literals, namely: CONST_BOOL, CONST_CHAR, CONST_INT, CONST_UINT, CONST_LONG, CONST_ULONG, CONST_FLOAT, CONST_DOUBLE, CONST_STRING and CONST_NULL.
const TokenTypeSet BLOCK_DELIMITERS_TYPESET
 Constant TokenTypeSet of tokens delimiting the end of a block of Bond source, namely: CBRACE and END.
const TokenTypeSet DECLARATION_DELIMITERS_TYPESET
 Constant TokenTypeSet of tokens delimiting the end of Bond declarations, namely: KEY_ENUM, KEY_NAMESPACE, KEY_NATIVE, KEY_STRUCT, CBRACE, SEMICOLON, and END.
const TokenTypeSet INCLUDE_AND_DECLARATION_DELIMITERS_TYPESET
 Constant TokenTypeSet of tokens delimiting the end of Bond declarations and includes, namely: KEY_ENUM, KEY_INCLUDE, KEY_NAMESPACE, KEY_NATIVE, KEY_STRUCT, CBRACE, SEMICOLON, and END.
const TokenTypeSet ENUM_DELIMITERS_TYPESET
 Constant TokenTypeSet of tokens delimiting the end of Bond enum declarations, namely: CBRACE, SEMICOLON, and END.
const TokenTypeSet ENUMERATOR_DELIMITERS_TYPESET
 Constant TokenTypeSet of tokens delimiting the end of Bond enumerator declarations, namely: CBRACE, SEMICOLON, and COMMA.
const TokenTypeSet STRUCT_MEMBER_DELIMITERS_TYPESET
 Constant TokenTypeSet of tokens delimiting the end of Bond struct member declarations, namely: CBRACE and SEMICOLON.
const TokenTypeSet INITIALIZER_DELIMITERS_TYPESET
 Constant TokenTypeSet of tokens delimiting the end of Bond initializers, namely: CBRACE, OBRACE and COMMA.
const TokenTypeSet SWITCH_SECTION_DELIMITERS_TYPESET
 Constant TokenTypeSet of tokens delimiting the end of Bond switch statement sections, namely: KEY_CASE, KEY_DEFAULT, CBRACE and COMMA.
const TokenTypeSet STATEMENT_DELIMITERS_TYPESET
 Constant TokenTypeSet of tokens delimiting the end of Bond statements, namely: KEY_BREAK, KEY_CASE, KEY_CONTINUE, KEY_DEFAULT, KEY_DO, KEY_IF, KEY_FOR, KEY_RETURN, KEY_SWITCH, KEY_WHILE, OBRACE, CBRACE and COLON.
const TokenTypeSet LABEL_DELIMITERS_TYPESET
 Constant TokenTypeSet of tokens delimiting the end of Bond switch labels, namely: KEY_BREAK, KEY_CASE, KEY_CONTINUE, KEY_DEFAULT, KEY_DO, KEY_IF, KEY_FOR, KEY_RETURN, KEY_SWITCH, KEY_WHILE, OBRACE, CBRACE, SEMICOLON and COLON.
constexpr StringView BOND_LIST_BLOB_ID {"List"}
 Four-character blob identifier used for list blobs in CBO data.
constexpr StringView BOND_FUNCTION_BLOB_ID {"Func"}
 Four-character blob identifier used for function blobs in CBO data.
constexpr StringView BOND_DATA_BLOB_ID {"Data"}
 Four-character blob identifier used for data blobs in CBO data.
constexpr size_t BOND_BLOB_ID_LENGTH = 4
 Number of bytes in a CBO blob identifier.
const uint32_t BOND_VOID_SIZE = 0
const uint32_t BOND_BOOL_SIZE = 1
const uint32_t BOND_CHAR_SIZE = 1
const uint32_t BOND_UCHAR_SIZE = 1
const uint32_t BOND_SHORT_SIZE = 2
const uint32_t BOND_USHORT_SIZE = 2
const uint32_t BOND_INT_SIZE = 4
const uint32_t BOND_UINT_SIZE = 4
const uint32_t BOND_LONG_SIZE = 8
const uint32_t BOND_ULONG_SIZE = 8
const uint32_t BOND_FLOAT_SIZE = 4
const uint32_t BOND_DOUBLE_SIZE = 8
const uint32_t BOND_DEFAULT_STRUCT_SIZE = 4
const uint32_t BOND_DEFAULT_STRUCT_ALIGN = BOND_DEFAULT_STRUCT_SIZE
const int32_t BOND_SLOT_SIZE = 8
const PointerSize BOND_NATIVE_POINTER_SIZE = (sizeof(void *) == 8) ? POINTER_64BIT : POINTER_32BIT
const uint32_t MAGIC_NUMBER = 0x57EDFA57
const uint16_t MAJOR_VERSION = 0
const uint16_t MINOR_VERSION = 9
const uint16_t CBO_MAJOR_VERSION = 1
const uint16_t CBO_MINOR_VERSION = 0
const uint16_t CBO_MIN_SUPPORTED_MAJOR_VERSION = 1
const uint16_t CBO_MIN_SUPPORTED_MINOR_VERSION = 0
const uint16_t CBO_MAX_SUPPORTED_MAJOR_VERSION = 1
const uint16_t CBO_MAX_SUPPORTED_MINOR_VERSION = 0

Typedef Documentation

◆ BoolStack

typedef AutoStack<bool> Bond::BoolStack

◆ IntStack

typedef AutoStack<int32_t> Bond::IntStack

◆ NativeFunction

typedef void(* Bond::NativeFunction) (StackFrame &frame)

◆ SizeStack

typedef AutoStack<size_t> Bond::SizeStack

◆ UIntStack

typedef AutoStack<uint32_t> Bond::UIntStack

Enumeration Type Documentation

◆ PointerSize

Enumerator
POINTER_32BIT 
POINTER_64BIT 

◆ SignatureType

Enumerator
SIG_VOID 
SIG_BOOL 
SIG_CHAR 
SIG_UCHAR 
SIG_SHORT 
SIG_USHORT 
SIG_INT 
SIG_UINT 
SIG_LONG 
SIG_ULONG 
SIG_FLOAT 
SIG_DOUBLE 
SIG_POINTER 
SIG_AGGREGATE 

Function Documentation

◆ Acos()

void Bond::Acos ( Bond::StackFrame & frame)

◆ Acosf()

void Bond::Acosf ( Bond::StackFrame & frame)

◆ Acosh()

void Bond::Acosh ( Bond::StackFrame & frame)

◆ Acoshf()

void Bond::Acoshf ( Bond::StackFrame & frame)

◆ Allocate()

void Bond::Allocate ( Bond::StackFrame & frame)

◆ AllocateAligned()

void Bond::AllocateAligned ( Bond::StackFrame & frame)

◆ AllocateAlignedCollected()

void Bond::AllocateAlignedCollected ( Bond::StackFrame & frame)

◆ AllocateAlignedWithCollector()

void Bond::AllocateAlignedWithCollector ( Bond::StackFrame & frame)

◆ AllocateCollected()

void Bond::AllocateCollected ( Bond::StackFrame & frame)

◆ AllocateWithCollector()

void Bond::AllocateWithCollector ( Bond::StackFrame & frame)

◆ Asin()

void Bond::Asin ( Bond::StackFrame & frame)

◆ Asinf()

void Bond::Asinf ( Bond::StackFrame & frame)

◆ Asinh()

void Bond::Asinh ( Bond::StackFrame & frame)

◆ Asinhf()

void Bond::Asinhf ( Bond::StackFrame & frame)

◆ Atan()

void Bond::Atan ( Bond::StackFrame & frame)

◆ Atan2()

void Bond::Atan2 ( Bond::StackFrame & frame)

◆ Atan2f()

void Bond::Atan2f ( Bond::StackFrame & frame)

◆ Atanf()

void Bond::Atanf ( Bond::StackFrame & frame)

◆ Atanh()

void Bond::Atanh ( Bond::StackFrame & frame)

◆ Atanhf()

void Bond::Atanhf ( Bond::StackFrame & frame)

◆ Cbrt()

void Bond::Cbrt ( Bond::StackFrame & frame)

◆ Cbrtf()

void Bond::Cbrtf ( Bond::StackFrame & frame)

◆ Ceil()

void Bond::Ceil ( Bond::StackFrame & frame)

◆ Ceilf()

void Bond::Ceilf ( Bond::StackFrame & frame)

◆ CopySign()

void Bond::CopySign ( Bond::StackFrame & frame)

◆ CopySignf()

void Bond::CopySignf ( Bond::StackFrame & frame)

◆ Cos()

void Bond::Cos ( Bond::StackFrame & frame)

◆ Cosf()

void Bond::Cosf ( Bond::StackFrame & frame)

◆ Cosh()

void Bond::Cosh ( Bond::StackFrame & frame)

◆ Coshf()

void Bond::Coshf ( Bond::StackFrame & frame)

◆ CreateInputStream()

void Bond::CreateInputStream ( Bond::StackFrame & frame)

◆ CreateInputStreamCollected()

void Bond::CreateInputStreamCollected ( Bond::StackFrame & frame)

◆ CreateInputStreamWithCollector()

void Bond::CreateInputStreamWithCollector ( Bond::StackFrame & frame)

◆ CreateOutputStream()

void Bond::CreateOutputStream ( Bond::StackFrame & frame)

◆ CreateOutputStreamCollected()

void Bond::CreateOutputStreamCollected ( Bond::StackFrame & frame)

◆ CreateOutputStreamWithCollector()

void Bond::CreateOutputStreamWithCollector ( Bond::StackFrame & frame)

◆ Exp()

void Bond::Exp ( Bond::StackFrame & frame)

◆ Exp2()

void Bond::Exp2 ( Bond::StackFrame & frame)

◆ Exp2f()

void Bond::Exp2f ( Bond::StackFrame & frame)

◆ ExpandApiTypeMnemonic()

char * Bond::ExpandApiTypeMnemonic ( char * buffer,
size_t length,
SignatureType signatureType,
uint32_t size )

◆ ExpandBondTypeMnemonic()

char * Bond::ExpandBondTypeMnemonic ( char * buffer,
size_t length,
SignatureType signatureType,
uint32_t size )

◆ Expf()

void Bond::Expf ( Bond::StackFrame & frame)

◆ Fabs()

void Bond::Fabs ( Bond::StackFrame & frame)

◆ Fabsf()

void Bond::Fabsf ( Bond::StackFrame & frame)

◆ Floor()

void Bond::Floor ( Bond::StackFrame & frame)

◆ Floorf()

void Bond::Floorf ( Bond::StackFrame & frame)

◆ Fmod()

void Bond::Fmod ( Bond::StackFrame & frame)

◆ Fmodf()

void Bond::Fmodf ( Bond::StackFrame & frame)

◆ Free()

void Bond::Free ( Bond::StackFrame & frame)

◆ FreeAligned()

void Bond::FreeAligned ( Bond::StackFrame & frame)

◆ FreeInputStream()

void Bond::FreeInputStream ( Bond::StackFrame & frame)

◆ FreeOutputStream()

void Bond::FreeOutputStream ( Bond::StackFrame & frame)

◆ Frexp()

void Bond::Frexp ( Bond::StackFrame & frame)

◆ Frexpf()

void Bond::Frexpf ( Bond::StackFrame & frame)

◆ GetApiTypeMnemonic()

const char * Bond::GetApiTypeMnemonic ( SignatureType signatureType)

◆ GetBondTypeMnemonic()

const char * Bond::GetBondTypeMnemonic ( SignatureType signatureType)

◆ GetCollector()

void Bond::GetCollector ( Bond::StackFrame & frame)

◆ GetPointerSize()

uint32_t Bond::GetPointerSize ( PointerSize pointerSize)
inline

◆ Hypot()

void Bond::Hypot ( Bond::StackFrame & frame)

◆ Hypotf()

void Bond::Hypotf ( Bond::StackFrame & frame)

◆ InputStream__AddOffset()

void Bond::InputStream__AddOffset ( Bond::StackFrame & frame)

◆ InputStream__ClearError()

void Bond::InputStream__ClearError ( Bond::StackFrame & frame)

◆ InputStream__ClearFlags()

void Bond::InputStream__ClearFlags ( Bond::StackFrame & frame)

◆ InputStream__Close()

void Bond::InputStream__Close ( Bond::StackFrame & frame)

◆ InputStream__Get()

void Bond::InputStream__Get ( Bond::StackFrame & frame)

◆ InputStream__GetEndPosition()

void Bond::InputStream__GetEndPosition ( Bond::StackFrame & frame)

◆ InputStream__GetFlags()

void Bond::InputStream__GetFlags ( Bond::StackFrame & frame)

◆ InputStream__GetPosition()

void Bond::InputStream__GetPosition ( Bond::StackFrame & frame)

◆ InputStream__HasError()

void Bond::InputStream__HasError ( Bond::StackFrame & frame)

◆ InputStream__IsEof()

void Bond::InputStream__IsEof ( Bond::StackFrame & frame)

◆ InputStream__Read()

void Bond::InputStream__Read ( Bond::StackFrame & frame)

◆ InputStream__ScanB()

void Bond::InputStream__ScanB ( Bond::StackFrame & frame)

◆ InputStream__ScanC()

void Bond::InputStream__ScanC ( Bond::StackFrame & frame)

◆ InputStream__ScanD()

void Bond::InputStream__ScanD ( Bond::StackFrame & frame)

◆ InputStream__ScanF()

void Bond::InputStream__ScanF ( Bond::StackFrame & frame)

◆ InputStream__ScanI()

void Bond::InputStream__ScanI ( Bond::StackFrame & frame)

◆ InputStream__ScanL()

void Bond::InputStream__ScanL ( Bond::StackFrame & frame)

◆ InputStream__ScanStr()

void Bond::InputStream__ScanStr ( Bond::StackFrame & frame)

◆ InputStream__ScanUI()

void Bond::InputStream__ScanUI ( Bond::StackFrame & frame)

◆ InputStream__ScanUL()

void Bond::InputStream__ScanUL ( Bond::StackFrame & frame)

◆ InputStream__SetFlags()

void Bond::InputStream__SetFlags ( Bond::StackFrame & frame)

◆ InputStream__SetPosition()

void Bond::InputStream__SetPosition ( Bond::StackFrame & frame)

◆ InputStream__SetPositionFromEnd()

void Bond::InputStream__SetPositionFromEnd ( Bond::StackFrame & frame)

◆ InputStream__UnsetFlags()

void Bond::InputStream__UnsetFlags ( Bond::StackFrame & frame)

◆ IsAlnum()

void Bond::IsAlnum ( Bond::StackFrame & frame)

◆ IsAlpha()

void Bond::IsAlpha ( Bond::StackFrame & frame)

◆ IsBlank()

void Bond::IsBlank ( Bond::StackFrame & frame)

◆ IsCntrl()

void Bond::IsCntrl ( Bond::StackFrame & frame)

◆ IsDigit()

void Bond::IsDigit ( Bond::StackFrame & frame)

◆ IsGraph()

void Bond::IsGraph ( Bond::StackFrame & frame)

◆ IsLower()

void Bond::IsLower ( Bond::StackFrame & frame)

◆ IsPrint()

void Bond::IsPrint ( Bond::StackFrame & frame)

◆ IsPunct()

void Bond::IsPunct ( Bond::StackFrame & frame)

◆ IsSpace()

void Bond::IsSpace ( Bond::StackFrame & frame)

◆ IsUpper()

void Bond::IsUpper ( Bond::StackFrame & frame)

◆ IsXDigit()

void Bond::IsXDigit ( Bond::StackFrame & frame)

◆ Ldexp()

void Bond::Ldexp ( Bond::StackFrame & frame)

◆ Ldexpf()

void Bond::Ldexpf ( Bond::StackFrame & frame)

◆ LoadAllLibs()

void Bond::LoadAllLibs ( CboLoader & cboLoader)

◆ LoadLibIo()

void Bond::LoadLibIo ( CboLoader & cboLoader)

◆ LoadLibMath()

void Bond::LoadLibMath ( CboLoader & cboLoader)

◆ LoadLibMemory()

void Bond::LoadLibMemory ( CboLoader & cboLoader)

◆ LoadLibString()

void Bond::LoadLibString ( CboLoader & cboLoader)

◆ LoadLibType()

void Bond::LoadLibType ( CboLoader & cboLoader)

◆ Log()

void Bond::Log ( Bond::StackFrame & frame)

◆ Log10()

void Bond::Log10 ( Bond::StackFrame & frame)

◆ Log10f()

void Bond::Log10f ( Bond::StackFrame & frame)

◆ Log2()

void Bond::Log2 ( Bond::StackFrame & frame)

◆ Log2f()

void Bond::Log2f ( Bond::StackFrame & frame)

◆ Logf()

void Bond::Logf ( Bond::StackFrame & frame)

◆ Memcpy()

void Bond::Memcpy ( Bond::StackFrame & frame)

◆ Modf()

void Bond::Modf ( Bond::StackFrame & frame)

◆ Modff()

void Bond::Modff ( Bond::StackFrame & frame)

◆ NaN()

void Bond::NaN ( Bond::StackFrame & frame)

◆ NaNf()

void Bond::NaNf ( Bond::StackFrame & frame)

◆ OutputStream__AddOffset()

void Bond::OutputStream__AddOffset ( Bond::StackFrame & frame)

◆ OutputStream__ClearError()

void Bond::OutputStream__ClearError ( Bond::StackFrame & frame)

◆ OutputStream__ClearFlags()

void Bond::OutputStream__ClearFlags ( Bond::StackFrame & frame)

◆ OutputStream__Close()

void Bond::OutputStream__Close ( Bond::StackFrame & frame)

◆ OutputStream__Flush()

void Bond::OutputStream__Flush ( Bond::StackFrame & frame)

◆ OutputStream__GetEndPosition()

void Bond::OutputStream__GetEndPosition ( Bond::StackFrame & frame)

◆ OutputStream__GetFlags()

void Bond::OutputStream__GetFlags ( Bond::StackFrame & frame)

◆ OutputStream__GetPosition()

void Bond::OutputStream__GetPosition ( Bond::StackFrame & frame)

◆ OutputStream__GetPrecision()

void Bond::OutputStream__GetPrecision ( Bond::StackFrame & frame)

◆ OutputStream__GetWidth()

void Bond::OutputStream__GetWidth ( Bond::StackFrame & frame)

◆ OutputStream__HasError()

void Bond::OutputStream__HasError ( Bond::StackFrame & frame)

◆ OutputStream__IsEof()

void Bond::OutputStream__IsEof ( Bond::StackFrame & frame)

◆ OutputStream__PrintB()

void Bond::OutputStream__PrintB ( Bond::StackFrame & frame)

◆ OutputStream__PrintC()

void Bond::OutputStream__PrintC ( Bond::StackFrame & frame)

◆ OutputStream__PrintD()

void Bond::OutputStream__PrintD ( Bond::StackFrame & frame)

◆ OutputStream__PrintF()

void Bond::OutputStream__PrintF ( Bond::StackFrame & frame)

◆ OutputStream__PrintI()

void Bond::OutputStream__PrintI ( Bond::StackFrame & frame)

◆ OutputStream__PrintL()

void Bond::OutputStream__PrintL ( Bond::StackFrame & frame)

◆ OutputStream__PrintStr()

void Bond::OutputStream__PrintStr ( Bond::StackFrame & frame)

◆ OutputStream__PrintUI()

void Bond::OutputStream__PrintUI ( Bond::StackFrame & frame)

◆ OutputStream__PrintUL()

void Bond::OutputStream__PrintUL ( Bond::StackFrame & frame)

◆ OutputStream__Put()

void Bond::OutputStream__Put ( Bond::StackFrame & frame)

◆ OutputStream__SetFlags()

void Bond::OutputStream__SetFlags ( Bond::StackFrame & frame)

◆ OutputStream__SetPosition()

void Bond::OutputStream__SetPosition ( Bond::StackFrame & frame)

◆ OutputStream__SetPositionFromEnd()

void Bond::OutputStream__SetPositionFromEnd ( Bond::StackFrame & frame)

◆ OutputStream__SetPrecision()

void Bond::OutputStream__SetPrecision ( Bond::StackFrame & frame)

◆ OutputStream__SetWidth()

void Bond::OutputStream__SetWidth ( Bond::StackFrame & frame)

◆ OutputStream__UnsetFlags()

void Bond::OutputStream__UnsetFlags ( Bond::StackFrame & frame)

◆ OutputStream__Write()

void Bond::OutputStream__Write ( Bond::StackFrame & frame)

◆ Pow()

void Bond::Pow ( Bond::StackFrame & frame)

◆ Powf()

void Bond::Powf ( Bond::StackFrame & frame)

◆ PrintTo()

void Bond::PrintTo ( const StringView & str,
OutputStream & stream )

Writes the characters of a StringView to the provided output stream.

Parameters
strThe StringView whose characters are written.
streamThe stream to which the characters of the StringView are written.

◆ Sin()

void Bond::Sin ( Bond::StackFrame & frame)

◆ Sinf()

void Bond::Sinf ( Bond::StackFrame & frame)

◆ Sinh()

void Bond::Sinh ( Bond::StackFrame & frame)

◆ Sinhf()

void Bond::Sinhf ( Bond::StackFrame & frame)

◆ Sqrt()

void Bond::Sqrt ( Bond::StackFrame & frame)

◆ Sqrtf()

void Bond::Sqrtf ( Bond::StackFrame & frame)

◆ StdErr()

void Bond::StdErr ( Bond::StackFrame & frame)

◆ StdIn()

void Bond::StdIn ( Bond::StackFrame & frame)

◆ StdOut()

void Bond::StdOut ( Bond::StackFrame & frame)

◆ Strcmp()

void Bond::Strcmp ( Bond::StackFrame & frame)

◆ Strlen()

void Bond::Strlen ( Bond::StackFrame & frame)

◆ Tan()

void Bond::Tan ( Bond::StackFrame & frame)

◆ Tanf()

void Bond::Tanf ( Bond::StackFrame & frame)

◆ Tanh()

void Bond::Tanh ( Bond::StackFrame & frame)

◆ Tanhf()

void Bond::Tanhf ( Bond::StackFrame & frame)

◆ ToLower()

void Bond::ToLower ( Bond::StackFrame & frame)

◆ ToUpper()

void Bond::ToUpper ( Bond::StackFrame & frame)

◆ Trunc()

void Bond::Trunc ( Bond::StackFrame & frame)

◆ Truncf()

void Bond::Truncf ( Bond::StackFrame & frame)

◆ TryParseDouble()

void Bond::TryParseDouble ( Bond::StackFrame & frame)

◆ TryParseFloat()

void Bond::TryParseFloat ( Bond::StackFrame & frame)

◆ TryParseInt()

void Bond::TryParseInt ( Bond::StackFrame & frame)

◆ TryParseLong()

void Bond::TryParseLong ( Bond::StackFrame & frame)

◆ ValidateConfiguration()

void Bond::ValidateConfiguration ( )

Variable Documentation

◆ BOND_BOOL_SIZE

const uint32_t Bond::BOND_BOOL_SIZE = 1

◆ BOND_CHAR_SIZE

const uint32_t Bond::BOND_CHAR_SIZE = 1

◆ BOND_DEFAULT_STRUCT_ALIGN

const uint32_t Bond::BOND_DEFAULT_STRUCT_ALIGN = BOND_DEFAULT_STRUCT_SIZE

◆ BOND_DEFAULT_STRUCT_SIZE

const uint32_t Bond::BOND_DEFAULT_STRUCT_SIZE = 4

◆ BOND_DOUBLE_SIZE

const uint32_t Bond::BOND_DOUBLE_SIZE = 8

◆ BOND_FLOAT_SIZE

const uint32_t Bond::BOND_FLOAT_SIZE = 4

◆ BOND_INT_SIZE

const uint32_t Bond::BOND_INT_SIZE = 4

◆ BOND_LONG_SIZE

const uint32_t Bond::BOND_LONG_SIZE = 8

◆ BOND_NATIVE_POINTER_SIZE

const PointerSize Bond::BOND_NATIVE_POINTER_SIZE = (sizeof(void *) == 8) ? POINTER_64BIT : POINTER_32BIT

◆ BOND_SHORT_SIZE

const uint32_t Bond::BOND_SHORT_SIZE = 2

◆ BOND_SLOT_SIZE

const int32_t Bond::BOND_SLOT_SIZE = 8

◆ BOND_UCHAR_SIZE

const uint32_t Bond::BOND_UCHAR_SIZE = 1

◆ BOND_UINT_SIZE

const uint32_t Bond::BOND_UINT_SIZE = 4

◆ BOND_ULONG_SIZE

const uint32_t Bond::BOND_ULONG_SIZE = 8

◆ BOND_USHORT_SIZE

const uint32_t Bond::BOND_USHORT_SIZE = 2

◆ BOND_VOID_SIZE

const uint32_t Bond::BOND_VOID_SIZE = 0

◆ CBO_MAJOR_VERSION

const uint16_t Bond::CBO_MAJOR_VERSION = 1

◆ CBO_MAX_SUPPORTED_MAJOR_VERSION

const uint16_t Bond::CBO_MAX_SUPPORTED_MAJOR_VERSION = 1

◆ CBO_MAX_SUPPORTED_MINOR_VERSION

const uint16_t Bond::CBO_MAX_SUPPORTED_MINOR_VERSION = 0

◆ CBO_MIN_SUPPORTED_MAJOR_VERSION

const uint16_t Bond::CBO_MIN_SUPPORTED_MAJOR_VERSION = 1

◆ CBO_MIN_SUPPORTED_MINOR_VERSION

const uint16_t Bond::CBO_MIN_SUPPORTED_MINOR_VERSION = 0

◆ CBO_MINOR_VERSION

const uint16_t Bond::CBO_MINOR_VERSION = 0

◆ INCLUDE_FILE_INDEX

const DataViewIndex Bond::INCLUDE_FILE_INDEX
extern

◆ IO_BINDING_COLLECTION

const Bond::NativeBindingCollection Bond::IO_BINDING_COLLECTION
extern

◆ MAGIC_NUMBER

const uint32_t Bond::MAGIC_NUMBER = 0x57EDFA57

◆ MAJOR_VERSION

const uint16_t Bond::MAJOR_VERSION = 0

◆ MATH_BINDING_COLLECTION

const Bond::NativeBindingCollection Bond::MATH_BINDING_COLLECTION
extern

◆ MEMORY_BINDING_COLLECTION

const Bond::NativeBindingCollection Bond::MEMORY_BINDING_COLLECTION
extern

◆ MINOR_VERSION

const uint16_t Bond::MINOR_VERSION = 9

◆ STRING_BINDING_COLLECTION

const Bond::NativeBindingCollection Bond::STRING_BINDING_COLLECTION
extern

◆ TYPE_BINDING_COLLECTION

const Bond::NativeBindingCollection Bond::TYPE_BINDING_COLLECTION
extern