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
 
class  AutoStack
 
class  BinaryExpression
 
class  CastExpression
 
class  CastVisitor
 
class  CboLoader
 
class  CboValidator
 
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
 
class  Collectable
 
class  Collector
 
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
 
class  ConditionalExpression
 
class  ConstantLiteralExpression
 
struct  ConstantTable
 
struct  DataEntry
 
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
 
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
 
class  EmptyExpression
 
class  EnumDeclaration
 
class  Enumerator
 
class  Exception
 Exception thrown for all types of errors in the Bond Runtime Library. More...
 
class  Expression
 
class  ExpressionStatement
 
class  ForStatement
 
class  FrontEnd
 A compiler front end for the Bond scripting language. More...
 
struct  Function
 
class  FunctionCallExpression
 
class  FunctionDefinition
 
class  FunctionPrototype
 
class  IdentifierExpression
 
class  IfStatement
 
class  IncludeDirective
 
class  Initializer
 
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
 
class  Lexer
 A lexer for the Bond scripting language. More...
 
class  ListParseNode
 
class  MemberExpression
 
class  MemoryInputStream
 A concrete implementation of InputStream that performs input operations from an in-memory buffer. More...
 
class  MemoryOutputStream
 A concrete implementation of OuputStream that performs ouput 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
 
class  NamespaceDefinition
 
struct  NativeBindingCollection
 
class  NativeBindingGenerator
 
class  NativeBlock
 
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
 
struct  ParamListSignature
 
struct  ParamSignature
 
class  ParseNode
 
struct  ParseNodeCount
 
class  ParseNodeCounter
 
class  ParseNodeList
 
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
 
class  PostfixExpression
 
class  PrettyPrinter
 
class  PropertyofExpression
 
class  QualifiedIdentifier
 
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
 
struct  ReturnSignature
 
class  SemanticAnalyzer
 A semantic analyzer for a parse tree generated from the Bond scripting language. More...
 
class  StackFrame
 
class  StdErrOutputStream
 
class  StdInInputStream
 
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 OuputStream that performs input operations to a stdio FILE*. More...
 
class  StdioStreamFactory
 A concrete implementation of StreamFactory that creates instances of StdioInputStream and StdioOutputStream. More...
 
class  StdOutOutputStream
 
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
 
class  SwitchLabel
 
class  SwitchSection
 
class  SwitchStatement
 
class  Symbol
 
class  SymbolTable
 A heirarchical symbol table used by the Bond compiler. More...
 
class  ThisExpression
 
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
 
class  TypeAndValue
 Contains the information regarding the type and value of an expression as it is evaluated by the compiler. More...
 
class  TypeDescriptor
 
class  TypeSpecifier
 
class  UnaryExpression
 
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
 
class  WrapperCollectable
 

Typedefs

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

Enumerations

enum  Scope { SCOPE_GLOBAL , SCOPE_LOCAL , SCOPE_STRUCT_MEMBER }
 
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. More...
 
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. More...
 
void SwapBytes (uint8_t &a, uint8_t &b)
 Swaps the value of two bytes. More...
 
void ReverseByteOrder16 (uint8_t value[2])
 Reverses the order of two bytes in place. More...
 
void ReverseByteOrder32 (uint8_t value[4])
 Reverses the order of four bytes in place. More...
 
void ReverseByteOrder64 (uint8_t value[8])
 Reverses the order of eight bytes in place. More...
 
Value16 ReverseByteOrder16 (Value16 value)
 Returns a 16 bit value with its byte order reversed. More...
 
Value32 ReverseByteOrder32 (Value32 value)
 Returns a 32 bit value with its byte order reversed. More...
 
Value64 ReverseByteOrder64 (Value64 value)
 Returns a 64 bit value with its byte order reversed. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
template<typename T >
AlignDown (T value, T align)
 Rounds an integer down to the nearest multiple of a specified power of two. More...
 
template<typename T >
AlignUp (T value, T align)
 Rounds an integer up to the nearest multiple of a specified power of two. More...
 
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. More...
 
template<typename T >
T * AlignPointerDown (T *ptr, size_t align)
 Rounds a pointer down the nearest multiple of a specified power of two. More...
 
template<typename T >
T * AlignPointerUp (T *ptr, size_t align)
 Rounds a pointer up to the nearest multiple of a specified power of two. More...
 
template<typename T >
IsPowerOfTwo (T value)
 Returns whether an integer is a power of two. More...
 
template<typename T >
RoundUpToPowerOfTwo32 (T value)
 Rounds a 32 bit integer up to the nearest power of two. More...
 
template<typename T >
Abs (T value)
 Returns the absolute value of a number. More...
 
template<typename T >
Min (T a, T b)
 Compares two numbers and returns the smaller of the two. More...
 
template<typename T >
Max (T a, T b)
 Compares two numbers and returns the larger of the two. More...
 
uint32_t EncodeSizeAndType (uint32_t size, SignatureType type)
 
void DecodeSizeAndType (uint32_t sizeAndType, uint32_t &size, SignatureType &type)
 
PointerSize DecodePointerSize (uint16_t flags)
 
uint16_t EncodePointerSize (uint16_t flags, PointerSize pointerSize)
 
bool IsCBOFormatLoadable (uint32_t majorVersion, uint32_t minorVersion)
 
bool IsCBOFormatSupported (uint32_t majorVersion, uint32_t minorVersion)
 
const char * GetOpCodeMnemonic (OpCode opCode)
 Returns a string representation of the given opcode. More...
 
OpCodeParam GetOpCodeParamType (OpCode opCode)
 Returns a value of the OpCodeParam enumeration describing the parameter types for the given opcode. More...
 
int32_t GetStackDelta (OpCode opCode)
 Returns the how much the given opcode moves the stack pointer in multiples of BOND_SLOT_SIZE bytes. More...
 
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. More...
 
bool operator< (const Value32 &a, const Value32 &b)
 Returns the result of the expression: a.mUInt < b.mUInt. More...
 
bool operator< (const Value64 &a, const Value64 &b)
 Returns the result of the expression: a.mULong < b.mULong. More...
 

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
 
const TypeSpecifier BOOL_TYPE_SPECIFIER
 
const TypeSpecifier CHAR_TYPE_SPECIFIER
 
const TypeSpecifier INT_TYPE_SPECIFIER
 
const TypeSpecifier UINT_TYPE_SPECIFIER
 
const TypeSpecifier LONG_TYPE_SPECIFIER
 
const TypeSpecifier ULONG_TYPE_SPECIFIER
 
const TypeSpecifier FLOAT_TYPE_SPECIFIER
 
const TypeSpecifier DOUBLE_TYPE_SPECIFIER
 
const Token VOID_TOKEN
 Constant Token of type KEY_VOID representing the void keyword. More...
 
const Token BOOL_TOKEN
 Constant Token of type KEY_BOOL representing the bool keyword. More...
 
const Token CHAR_TOKEN
 Constant Token of type KEY_CHAR representing the char keyword. More...
 
const Token UCHAR_TOKEN
 Constant Token of type KEY_UCHAR representing the uchar keyword. More...
 
const Token INT_TOKEN
 Constant Token of type KEY_INT representing the int keyword. More...
 
const Token UINT_TOKEN
 Constant Token of type KEY_UINT representing the uint keyword. More...
 
const Token LONG_TOKEN
 Constant Token of type KEY_LONG representing the long keyword. More...
 
const Token ULONG_TOKEN
 Constant Token of type KEY_ULONG representing the ulong keyword. More...
 
const Token FLOAT_TOKEN
 Constant Token of type KEY_FLOAT representing the float keyword. More...
 
const Token DOUBLE_TOKEN
 Constant Token of type KEY_DOUBLE representing the double keyword. More...
 
const TokenTypeSet PRIMITIVE_TYPE_SPECIFIERS_TYPESET
 Constant TokenTypeSet of all keywords representing Bond primitive typesn 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. More...
 
const TokenTypeSet BOOLEAN_TYPE_SPECIFIERS_TYPESET
 Constant TokenTypeSet containing only KEY_BOOL. More...
 
const TokenTypeSet CHAR_TYPE_SPECIFIERS_TYPESET
 Constant TokenTypeSet of all keywords representing Bond character types, namely: KEY_CHAR and KEY_UCHAR. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
const TokenTypeSet LONG_INTEGER_TYPE_SPECIFIERS_TYPESET
 Constant TokenTypeSet of all keywords representing Bond long integral types, namely: KEY_LONG and KEY_ULONG. More...
 
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. More...
 
const TokenTypeSet VOID_TYPE_SPECIFIERS_TYPESET
 Constant TokenTypeSet containing only KEY_VOID. More...
 
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. More...
 
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. More...
 
const TokenTypeSet SIGNED_INTEGER_CONSTANTS_TYPESET
 Constant TokenTypeSet of all signed integral literal constants, namely: CONST_CHAR, CONST_INT and CONST_LONG. More...
 
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. More...
 
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. More...
 
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. More...
 
const TokenTypeSet EQUALITY_OPERATORS_TYPESET
 Constant TokenTypeSet of all Bond equality operators, namely: OP_EQUAL, OP_NOT_EQUAL. More...
 
const TokenTypeSet RELATIONAL_OPERATORS_TYPESET
 Constant TokenTypeSet of all Bond relational operators, namely: OP_LT, OP_LTE, OP_GT and OP_GTE. More...
 
const TokenTypeSet SHIFT_OPERATORS_TYPESET
 Constant TokenTypeSet of all Bond shift operators, namely: OP_LEFT and OP_RIGHT. More...
 
const TokenTypeSet ADDITIVE_OPERATORS_TYPESET
 Constant TokenTypeSet of all Bond additive arithmetic operators, namely: OP_PLUS and OP_MINUS. More...
 
const TokenTypeSet MULTIPLICATIVE_OPERATORS_TYPESET
 Constant TokenTypeSet of all Bond multiplicative arithmetic operators, namely: OP_STAR, OP_DIV and OP_MOD. More...
 
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. More...
 
const TokenTypeSet POSTFIX_OPERATORS_TYPESET
 Constant TokenTypeSet of all Bond postfix unary operators, namely: OP_INC, OP_DEC, OP_ARROW, OPAREN, OBRACKET and PERIOD. More...
 
const TokenTypeSet PROPERTYOF_OPERATORS_TYPESET
 Constant TokenTypeSet of all Bond operators for retrieving type properties, namely: KEY_ALIGNOFand KEY_SIZEOF. More...
 
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. More...
 
const TokenTypeSet BLOCK_DELIMITERS_TYPESET
 Constant TokenTypeSet of tokens delimiting the end of a block of Bond source, namely: CBRACE and END. More...
 
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. More...
 
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. More...
 
const TokenTypeSet ENUM_DELIMITERS_TYPESET
 Constant TokenTypeSet of tokens delimiting the end of Bond enum declarations, namely: CBRACE, SEMICOLON, and END. More...
 
const TokenTypeSet ENUMERATOR_DELIMITERS_TYPESET
 Constant TokenTypeSet of tokens delimiting the end of Bond enumerator declarations, namely: CBRACE, SEMICOLON, and COMMA. More...
 
const TokenTypeSet STRUCT_MEMBER_DELIMITERS_TYPESET
 Constant TokenTypeSet of tokens delimiting the end of Bond struct member declarations, namely: CBRACE and SEMICOLON. More...
 
const TokenTypeSet INITIALIZER_DELIMITERS_TYPESET
 Constant TokenTypeSet of tokens delimiting the end of Bond initializers, namely: CBRACE, OBRACE and COMMA. More...
 
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. More...
 
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. More...
 
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. More...
 
constexpr StringView BOND_LIST_BLOB_ID {"List"}
 
constexpr StringView BOND_FUNCTION_BLOB_ID {"Func"}
 
constexpr StringView BOND_DATA_BLOB_ID {"Data"}
 
constexpr size_t BOND_BLOB_ID_LENGTH = 4
 
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

◆ CodeSegmentHandle

◆ 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)

◆ DecodePointerSize()

PointerSize Bond::DecodePointerSize ( uint16_t  flags)
inline

◆ DecodeSizeAndType()

void Bond::DecodeSizeAndType ( uint32_t  sizeAndType,
uint32_t &  size,
SignatureType type 
)
inline

◆ EncodePointerSize()

uint16_t Bond::EncodePointerSize ( uint16_t  flags,
PointerSize  pointerSize 
)
inline

◆ EncodeSizeAndType()

uint32_t Bond::EncodeSizeAndType ( uint32_t  size,
SignatureType  type 
)
inline

◆ 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)

◆ IsCBOFormatLoadable()

bool Bond::IsCBOFormatLoadable ( uint32_t  majorVersion,
uint32_t  minorVersion 
)
inline

◆ IsCBOFormatSupported()

bool Bond::IsCBOFormatSupported ( uint32_t  majorVersion,
uint32_t  minorVersion 
)
inline

◆ 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_BLOB_ID_LENGTH

constexpr size_t Bond::BOND_BLOB_ID_LENGTH = 4
constexpr

◆ BOND_BOOL_SIZE

const uint32_t Bond::BOND_BOOL_SIZE = 1

◆ BOND_CHAR_SIZE

const uint32_t Bond::BOND_CHAR_SIZE = 1

◆ BOND_DATA_BLOB_ID

constexpr StringView Bond::BOND_DATA_BLOB_ID {"Data"}
constexpr

◆ 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_FUNCTION_BLOB_ID

constexpr StringView Bond::BOND_FUNCTION_BLOB_ID {"Func"}
constexpr

◆ BOND_INT_SIZE

const uint32_t Bond::BOND_INT_SIZE = 4

◆ BOND_LIST_BLOB_ID

constexpr StringView Bond::BOND_LIST_BLOB_ID {"List"}
constexpr

◆ 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