CYCLUS
Classes | Typedefs | Enumerations | Functions | Variables
Json Namespace Reference

Classes

class  BatchAllocator
 
class  CustomWriter
 
class  FastWriter
 
class  Features
 
class  Path
 
class  PathArgument
 
class  Reader
 
class  StaticString
 
class  StyledStreamWriter
 
class  StyledWriter
 
class  Value
 
class  ValueConstIterator
 
class  ValueIterator
 
class  ValueIteratorBase
 
class  Writer
 

Typedefs

typedef unsigned int ArrayIndex
 
typedef int Int
 
typedef long long int Int64
 
typedef Int64 LargestInt
 
typedef UInt64 LargestUInt
 
typedef unsigned int UInt
 
typedef unsigned long long int UInt64
 
typedef char UIntToStringBuffer[uintToStringBufferSize]
 

Enumerations

enum  { uintToStringBufferSize = 3*sizeof(LargestUInt)+1 }
 
enum  CommentPlacement { commentBefore = 0, commentAfterOnSameLine, commentAfter, numberOfCommentPlacement }
 
enum  ValueType {
  nullValue = 0, intValue, uintValue, realValue,
  stringValue, booleanValue, arrayValue, objectValue
}
 

Functions

static std::string codePointToUTF8 (unsigned int cp)
 
static bool containsControlCharacter (const char *str)
 
static bool containsNewLine (Reader::Location begin, Reader::Location end)
 
static char * duplicateStringValue (const char *value, unsigned int length=unknown)
 
static bool in (Reader::Char c, Reader::Char c1, Reader::Char c2, Reader::Char c3, Reader::Char c4)
 
static bool in (Reader::Char c, Reader::Char c1, Reader::Char c2, Reader::Char c3, Reader::Char c4, Reader::Char c5)
 
static bool isControlCharacter (char ch)
 
std::ostream & operator<< (std::ostream &, const Value &root)
 
std::istream & operator>> (std::istream &, Value &)
 
static void releaseStringValue (char *value)
 
static void uintToString (LargestUInt value, char *&current)
 
std::string valueToQuotedString (const char *value)
 
std::string valueToString (LargestInt value)
 
std::string valueToString (LargestUInt value)
 
std::string valueToString (Int value)
 
std::string valueToString (UInt value)
 
std::string valueToString (double value)
 
std::string valueToString (bool value)
 

Variables

static const unsigned int unknown = (unsigned)-1
 

Detailed Description

JSON (JavaScript Object Notation).

Typedef Documentation

◆ ArrayIndex

typedef unsigned int Json::ArrayIndex

Definition at line 2748 of file pyne.h.

◆ Int

typedef int Json::Int

Definition at line 2689 of file pyne.h.

◆ Int64

typedef long long int Json::Int64

Definition at line 2701 of file pyne.h.

◆ LargestInt

Definition at line 2704 of file pyne.h.

◆ LargestUInt

Definition at line 2705 of file pyne.h.

◆ UInt

typedef unsigned int Json::UInt

Definition at line 2690 of file pyne.h.

◆ UInt64

typedef unsigned long long int Json::UInt64

Definition at line 2702 of file pyne.h.

◆ UIntToStringBuffer

typedef char Json::UIntToStringBuffer[uintToStringBufferSize]

Definition at line 13129 of file pyne.cc.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
uintToStringBufferSize 

Constant that specify the size of the buffer that must be passed to uintToString.

Definition at line 13123 of file pyne.cc.

◆ CommentPlacement

Enumerator
commentBefore 

a comment placed on the line before a value

commentAfterOnSameLine 

a comment just after a value on the same line

commentAfter 

a comment on the line after a value (only make sense for root value)

numberOfCommentPlacement 

Definition at line 3148 of file pyne.h.

◆ ValueType

Type of the value held by a Value object.

Enumerator
nullValue 

'null' value

intValue 

signed integer value

uintValue 

unsigned integer value

realValue 

double value

stringValue 

UTF-8 string value.

booleanValue 

bool value

arrayValue 

array value (ordered list)

objectValue 

object value (collection of name/value pairs).

Definition at line 3136 of file pyne.h.

Function Documentation

◆ codePointToUTF8()

static std::string Json::codePointToUTF8 ( unsigned int  cp)
inlinestatic

Converts a unicode code-point to UTF-8.

Definition at line 13087 of file pyne.cc.

◆ containsControlCharacter()

static bool Json::containsControlCharacter ( const char *  str)
static

Definition at line 16093 of file pyne.cc.

◆ containsNewLine()

static bool Json::containsNewLine ( Reader::Location  begin,
Reader::Location  end 
)
static

Definition at line 13227 of file pyne.cc.

◆ duplicateStringValue()

static char* Json::duplicateStringValue ( const char *  value,
unsigned int  length = unknown 
)
inlinestatic

Duplicates the specified string value.

Parameters
valuePointer to the string to duplicate. Must be zero-terminated if length is "unknown".
lengthLength of the value. if equals to unknown, then it will be computed using strlen(value).
Returns
Pointer on the duplicate instance of string.

Definition at line 14438 of file pyne.cc.

◆ in() [1/2]

static bool Json::in ( Reader::Char  c,
Reader::Char  c1,
Reader::Char  c2,
Reader::Char  c3,
Reader::Char  c4 
)
inlinestatic

Definition at line 13216 of file pyne.cc.

◆ in() [2/2]

static bool Json::in ( Reader::Char  c,
Reader::Char  c1,
Reader::Char  c2,
Reader::Char  c3,
Reader::Char  c4,
Reader::Char  c5 
)
inlinestatic

Definition at line 13221 of file pyne.cc.

◆ isControlCharacter()

static bool Json::isControlCharacter ( char  ch)
inlinestatic

Returns true if ch is a control character (in range [0,32[).

Definition at line 13118 of file pyne.cc.

◆ operator<<()

std::ostream & Json::operator<< ( std::ostream &  ,
const Value root 
)

Output using the StyledStreamWriter.

See also
Json::operator>>()

Definition at line 16810 of file pyne.cc.

◆ operator>>()

std::istream & Json::operator>> ( std::istream &  ,
Value  
)

Read from 'sin' into 'root'.

Always keep comments from the input JSON.

This can be used to read a file into a particular sub-object. For example:

cin >> root["dir"]["file"];
cout << root;

Result:

{
"dir": {
    "file": {
    // The input stream JSON would be nested here.
    }
}
}
Exceptions
std::exceptionon parse error.
See also
Json::operator<<()

Definition at line 13945 of file pyne.cc.

◆ releaseStringValue()

static void Json::releaseStringValue ( char *  value)
inlinestatic

Free the string duplicated by duplicateStringValue().

Definition at line 14453 of file pyne.cc.

◆ uintToString()

static void Json::uintToString ( LargestUInt  value,
char *&  current 
)
inlinestatic

Converts an unsigned integer to string.

Parameters
valueUnsigned interger to convert to string
currentInput/Output string buffer. Must have at least uintToStringBufferSize chars free.

Definition at line 13138 of file pyne.cc.

◆ valueToQuotedString()

std::string JSON_API Json::valueToQuotedString ( const char *  value)

Definition at line 16182 of file pyne.cc.

◆ valueToString() [1/6]

std::string JSON_API Json::valueToString ( LargestInt  value)

Definition at line 16102 of file pyne.cc.

◆ valueToString() [2/6]

std::string JSON_API Json::valueToString ( LargestUInt  value)

Definition at line 16116 of file pyne.cc.

◆ valueToString() [3/6]

std::string JSON_API Json::valueToString ( Int  value)

Definition at line 16126 of file pyne.cc.

◆ valueToString() [4/6]

std::string JSON_API Json::valueToString ( UInt  value)

Definition at line 16132 of file pyne.cc.

◆ valueToString() [5/6]

std::string JSON_API Json::valueToString ( double  value)

Definition at line 16139 of file pyne.cc.

◆ valueToString() [6/6]

std::string JSON_API Json::valueToString ( bool  value)

Definition at line 16178 of file pyne.cc.

Variable Documentation

◆ unknown

const unsigned int Json::unknown = (unsigned)-1
static

Unknown size marker.

Definition at line 14427 of file pyne.cc.