cocos2d-x  3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Value Class Reference

#include <CCValue.h>

Public Types

enum  Type {
  NONE = 0, BYTE, INTEGER, FLOAT,
  DOUBLE, BOOLEAN, STRING, VECTOR,
  MAP, INT_KEY_MAP
}
 Value type wrapped by Value. More...
 

Public Member Functions

 Value ()
 Default constructor. More...
 
 Value (unsigned char v)
 Create a Value by an unsigned char value. More...
 
 Value ( var v)
 Create a Value by an unsigned char value. More...
 
 Value ( local v)
 Create a Value by an unsigned char value. More...
 
 Value (int v)
 Create a Value by an integer value. More...
 
 Value ( var v)
 Create a Value by an integer value. More...
 
 Value ( local v)
 Create a Value by an integer value. More...
 
 Value (float v)
 Create a Value by a float value. More...
 
 Value ( var v)
 Create a Value by a float value. More...
 
 Value ( local v)
 Create a Value by a float value. More...
 
 Value (double v)
 Create a Value by a double value. More...
 
 Value ( var v)
 Create a Value by a double value. More...
 
 Value ( local v)
 Create a Value by a double value. More...
 
 Value (bool v)
 Create a Value by a bool value. More...
 
 Value ( var v)
 Create a Value by a bool value. More...
 
 Value ( local v)
 Create a Value by a bool value. More...
 
 Value (const char *v)
 Create a Value by a char pointer. More...
 
 Value ( var v)
 Create a Value by a char pointer. More...
 
 Value ( local v)
 Create a Value by a char pointer. More...
 
 Value (const std::string &v)
 Create a Value by a string. More...
 
 Value ( var v)
 Create a Value by a string. More...
 
 Value ( local v)
 Create a Value by a string. More...
 
 Value (const ValueVector &v)
 Create a Value by a ValueVector object. More...
 
 Value ( var v)
 Create a Value by a ValueVector object. More...
 
 Value ( local v)
 Create a Value by a ValueVector object. More...
 
 Value (ValueVector &&v)
 Create a Value by a ValueVector object. More...
 
 Value ( var v)
 Create a Value by a ValueVector object. More...
 
 Value ( local v)
 Create a Value by a ValueVector object. More...
 
 Value (const ValueMap &v)
 Create a Value by a ValueMap object. More...
 
 Value ( var v)
 Create a Value by a ValueMap object. More...
 
 Value ( local v)
 Create a Value by a ValueMap object. More...
 
 Value (ValueMap &&v)
 Create a Value by a ValueMap object. More...
 
 Value ( var v)
 Create a Value by a ValueMap object. More...
 
 Value ( local v)
 Create a Value by a ValueMap object. More...
 
 Value (const ValueMapIntKey &v)
 Create a Value by a ValueMapIntKey object. More...
 
 Value ( var v)
 Create a Value by a ValueMapIntKey object. More...
 
 Value ( local v)
 Create a Value by a ValueMapIntKey object. More...
 
 Value (ValueMapIntKey &&v)
 Create a Value by a ValueMapIntKey object. More...
 
 Value ( var v)
 Create a Value by a ValueMapIntKey object. More...
 
 Value ( local v)
 Create a Value by a ValueMapIntKey object. More...
 
 Value (const Value &other)
 Create a Value by anthoer Value object. More...
 
 Value (Value &&other)
 Create a Value by a Value object. More...
 
 Value ( var other)
 Create a Value by a Value object. More...
 
 Value ( local other)
 Create a Value by a Value object. More...
 
 ~Value ()
 Destructor. More...
 
 ~Value ()
 Destructor. More...
 
 ~Value ()
 Destructor. More...
 
Valueoperator= (const Value &other)
 Assignment operator, assign from Value to Value. More...
 
var operator= ( var other)
 Assignment operator, assign from Value to Value. More...
 
local operator= ( local other)
 Assignment operator, assign from Value to Value. More...
 
Valueoperator= (Value &&other)
 Assignment operator, assign from Value to Value. More...
 
var operator= ( var other)
 Assignment operator, assign from Value to Value. More...
 
local operator= ( local other)
 Assignment operator, assign from Value to Value. More...
 
Valueoperator= (unsigned char v)
 Assignment operator, assign from unsigned char to Value. More...
 
var operator= ( var v)
 Assignment operator, assign from unsigned char to Value. More...
 
local operator= ( local v)
 Assignment operator, assign from unsigned char to Value. More...
 
Valueoperator= (int v)
 Assignment operator, assign from integer to Value. More...
 
var operator= ( var v)
 Assignment operator, assign from integer to Value. More...
 
local operator= ( local v)
 Assignment operator, assign from integer to Value. More...
 
Valueoperator= (float v)
 Assignment operator, assign from float to Value. More...
 
var operator= ( var v)
 Assignment operator, assign from float to Value. More...
 
local operator= ( local v)
 Assignment operator, assign from float to Value. More...
 
Valueoperator= (double v)
 Assignment operator, assign from double to Value. More...
 
var operator= ( var v)
 Assignment operator, assign from double to Value. More...
 
local operator= ( local v)
 Assignment operator, assign from double to Value. More...
 
Valueoperator= (bool v)
 Assignment operator, assign from bool to Value. More...
 
var operator= ( var v)
 Assignment operator, assign from bool to Value. More...
 
local operator= ( local v)
 Assignment operator, assign from bool to Value. More...
 
Valueoperator= (const char *v)
 Assignment operator, assign from char* to Value. More...
 
var operator= ( var v)
 Assignment operator, assign from char* to Value. More...
 
local operator= ( local v)
 Assignment operator, assign from char* to Value. More...
 
Valueoperator= (const std::string &v)
 Assignment operator, assign from string to Value. More...
 
var operator= ( var v)
 Assignment operator, assign from string to Value. More...
 
local operator= ( local v)
 Assignment operator, assign from string to Value. More...
 
Valueoperator= (const ValueVector &v)
 Assignment operator, assign from ValueVector to Value. More...
 
var operator= ( var v)
 Assignment operator, assign from ValueVector to Value. More...
 
local operator= ( local v)
 Assignment operator, assign from ValueVector to Value. More...
 
Valueoperator= (ValueVector &&v)
 Assignment operator, assign from ValueVector to Value. More...
 
var operator= ( var v)
 Assignment operator, assign from ValueVector to Value. More...
 
local operator= ( local v)
 Assignment operator, assign from ValueVector to Value. More...
 
Valueoperator= (const ValueMap &v)
 Assignment operator, assign from ValueMap to Value. More...
 
var operator= ( var v)
 Assignment operator, assign from ValueMap to Value. More...
 
local operator= ( local v)
 Assignment operator, assign from ValueMap to Value. More...
 
Valueoperator= (ValueMap &&v)
 Assignment operator, assign from ValueMap to Value. More...
 
var operator= ( var v)
 Assignment operator, assign from ValueMap to Value. More...
 
local operator= ( local v)
 Assignment operator, assign from ValueMap to Value. More...
 
Valueoperator= (const ValueMapIntKey &v)
 Assignment operator, assign from ValueMapIntKey to Value. More...
 
var operator= ( var v)
 Assignment operator, assign from ValueMapIntKey to Value. More...
 
local operator= ( local v)
 Assignment operator, assign from ValueMapIntKey to Value. More...
 
Valueoperator= (ValueMapIntKey &&v)
 Assignment operator, assign from ValueMapIntKey to Value. More...
 
var operator= ( var v)
 Assignment operator, assign from ValueMapIntKey to Value. More...
 
local operator= ( local v)
 Assignment operator, assign from ValueMapIntKey to Value. More...
 
bool operator!= (const Value &v)
 != operator overloading More...
 
var operator!= ( var v)
 != operator overloading More...
 
local operator!= ( local v)
 != operator overloading More...
 
bool operator!= (const Value &v) const
 != operator overloading More...
 
var operator!= ( var v)
 != operator overloading More...
 
local operator!= ( local v)
 != operator overloading More...
 
bool operator== (const Value &v)
 == operator overloading More...
 
var operator== ( var v)
 == operator overloading More...
 
local operator== ( local v)
 == operator overloading More...
 
bool operator== (const Value &v) const
 == operator overloading More...
 
var operator== ( var v)
 == operator overloading More...
 
local operator== ( local v)
 == operator overloading More...
 
unsigned char asByte () const
 Gets as a byte value. More...
 
int asInt () const
 Gets as an integer value. More...
 
float asFloat () const
 Gets as a float value. More...
 
double asDouble () const
 Gets as a double value. More...
 
bool asBool () const
 Gets as a bool value. More...
 
std::string asString () const
 Gets as a string value. More...
 
ValueVectorasValueVector ()
 Gets as a ValueVector reference. More...
 
const ValueVectorasValueVector () const
 Gets as a const ValueVector reference. More...
 
ValueMapasValueMap ()
 Gets as a ValueMap reference. More...
 
var asValueMap ()
 Gets as a ValueMap reference. More...
 
local asValueMap ()
 Gets as a ValueMap reference. More...
 
const ValueMapasValueMap () const
 Gets as a const ValueMap reference. More...
 
var asValueMap ()
 Gets as a const ValueMap reference. More...
 
local asValueMap ()
 Gets as a const ValueMap reference. More...
 
ValueMapIntKeyasIntKeyMap ()
 Gets as a ValueMapIntKey reference. More...
 
var asIntKeyMap ()
 Gets as a ValueMapIntKey reference. More...
 
local asIntKeyMap ()
 Gets as a ValueMapIntKey reference. More...
 
const ValueMapIntKeyasIntKeyMap () const
 Gets as a const ValueMapIntKey reference. More...
 
local asIntKeyMap ()
 Gets as a const ValueMapIntKey reference. More...
 
bool isNull () const
 Checks if the Value is null. More...
 
Type getType () const
 Gets the value type. More...
 
std::string getDescription () const
 Gets the description of the class. More...
 
local getDescription ()
 Gets the description of the class. More...
 

Static Public Attributes

static const Value Null
 A predefined Value that has not value. More...
 
var Null
 A predefined Value that has not value. More...
 
local Null
 A predefined Value that has not value. More...
 

Member Enumeration Documentation

enum Type
strong

Value type wrapped by Value.

Enumerator
NONE 

no value is wrapped, an empty Value

BYTE 

wrap byte

INTEGER 

wrap integer

FLOAT 

wrap float

DOUBLE 

wrap double

BOOLEAN 

wrap bool

STRING 

wrap string

VECTOR 

wrap vector

MAP 

wrap ValueMap

INT_KEY_MAP 

wrap ValueMapIntKey

var Type
strong

Value type wrapped by Value.

Enumerator
NONE 

no value is wrapped, an empty Value

BYTE 

wrap byte

INTEGER 

wrap integer

FLOAT 

wrap float

DOUBLE 

wrap double

BOOLEAN 

wrap bool

STRING 

wrap string

VECTOR 

wrap vector

MAP 

wrap ValueMap

INT_KEY_MAP 

wrap ValueMapIntKey

local Type
strong

Value type wrapped by Value.

Enumerator
NONE 

no value is wrapped, an empty Value

BYTE 

wrap byte

INTEGER 

wrap integer

FLOAT 

wrap float

DOUBLE 

wrap double

BOOLEAN 

wrap bool

STRING 

wrap string

VECTOR 

wrap vector

MAP 

wrap ValueMap

INT_KEY_MAP 

wrap ValueMapIntKey

Constructor & Destructor Documentation

Value ( )

Default constructor.

var Value ( )

Default constructor.

local Value ( )

Default constructor.

Value ( unsigned char  v)
explicit

Create a Value by an unsigned char value.

var Value ( var  v)
explicit

Create a Value by an unsigned char value.

local Value ( local  v)
explicit

Create a Value by an unsigned char value.

Value ( int  v)
explicit

Create a Value by an integer value.

var Value ( var  v)
explicit

Create a Value by an integer value.

local Value ( local  v)
explicit

Create a Value by an integer value.

Value ( float  v)
explicit

Create a Value by a float value.

var Value ( var  v)
explicit

Create a Value by a float value.

local Value ( local  v)
explicit

Create a Value by a float value.

Value ( double  v)
explicit

Create a Value by a double value.

var Value ( var  v)
explicit

Create a Value by a double value.

local Value ( local  v)
explicit

Create a Value by a double value.

Value ( bool  v)
explicit

Create a Value by a bool value.

var Value ( var  v)
explicit

Create a Value by a bool value.

local Value ( local  v)
explicit

Create a Value by a bool value.

Value ( const char *  v)
explicit

Create a Value by a char pointer.

It will copy the chars internally.

var Value ( var  v)
explicit

Create a Value by a char pointer.

It will copy the chars internally.

local Value ( local  v)
explicit

Create a Value by a char pointer.

It will copy the chars internally.

Value ( const std::string &  v)
explicit

Create a Value by a string.

var Value ( var  v)
explicit

Create a Value by a string.

local Value ( local  v)
explicit

Create a Value by a string.

Value ( const ValueVector v)
explicit

Create a Value by a ValueVector object.

var Value ( var  v)
explicit

Create a Value by a ValueVector object.

local Value ( local  v)
explicit

Create a Value by a ValueVector object.

Value ( ValueVector &&  v)
explicit

Create a Value by a ValueVector object.

It will use std::move internally.

var Value ( var  v)
explicit

Create a Value by a ValueVector object.

It will use std::move internally.

local Value ( local  v)
explicit

Create a Value by a ValueVector object.

It will use std::move internally.

Value ( const ValueMap v)
explicit

Create a Value by a ValueMap object.

var Value ( var  v)
explicit

Create a Value by a ValueMap object.

local Value ( local  v)
explicit

Create a Value by a ValueMap object.

Value ( ValueMap &&  v)
explicit

Create a Value by a ValueMap object.

It will use std::move internally.

var Value ( var  v)
explicit

Create a Value by a ValueMap object.

It will use std::move internally.

local Value ( local  v)
explicit

Create a Value by a ValueMap object.

It will use std::move internally.

Value ( const ValueMapIntKey v)
explicit

Create a Value by a ValueMapIntKey object.

var Value ( var  v)
explicit

Create a Value by a ValueMapIntKey object.

local Value ( local  v)
explicit

Create a Value by a ValueMapIntKey object.

Value ( ValueMapIntKey &&  v)
explicit

Create a Value by a ValueMapIntKey object.

It will use std::move internally.

var Value ( var  v)
explicit

Create a Value by a ValueMapIntKey object.

It will use std::move internally.

local Value ( local  v)
explicit

Create a Value by a ValueMapIntKey object.

It will use std::move internally.

Value ( const Value other)

Create a Value by anthoer Value object.

var Value ( var  other)

Create a Value by anthoer Value object.

local Value ( local  other)

Create a Value by anthoer Value object.

Value ( Value &&  other)

Create a Value by a Value object.

It will use std::move internally.

var Value ( var  other)

Create a Value by a Value object.

It will use std::move internally.

local Value ( local  other)

Create a Value by a Value object.

It will use std::move internally.

~Value ( )

Destructor.

var ~Value ( )

Destructor.

local ~Value ( )

Destructor.

Member Function Documentation

bool asBool ( ) const

Gets as a bool value.

Will convert to bool if possible, or will trigger assert error.

var asBool ( )

Gets as a bool value.

Will convert to bool if possible, or will trigger assert error.

local asBool ( )

Gets as a bool value.

Will convert to bool if possible, or will trigger assert error.

unsigned char asByte ( ) const

Gets as a byte value.

Will convert to unsigned char if possible, or will trigger assert error.

var asByte ( )

Gets as a byte value.

Will convert to unsigned char if possible, or will trigger assert error.

local asByte ( )

Gets as a byte value.

Will convert to unsigned char if possible, or will trigger assert error.

double asDouble ( ) const

Gets as a double value.

Will convert to double if possible, or will trigger assert error.

var asDouble ( )

Gets as a double value.

Will convert to double if possible, or will trigger assert error.

local asDouble ( )

Gets as a double value.

Will convert to double if possible, or will trigger assert error.

float asFloat ( ) const

Gets as a float value.

Will convert to float if possible, or will trigger assert error.

var asFloat ( )

Gets as a float value.

Will convert to float if possible, or will trigger assert error.

local asFloat ( )

Gets as a float value.

Will convert to float if possible, or will trigger assert error.

int asInt ( ) const

Gets as an integer value.

Will convert to integer if possible, or will trigger assert error.

var asInt ( )

Gets as an integer value.

Will convert to integer if possible, or will trigger assert error.

local asInt ( )

Gets as an integer value.

Will convert to integer if possible, or will trigger assert error.

ValueMapIntKey& asIntKeyMap ( )

Gets as a ValueMapIntKey reference.

Will convert to ValueMapIntKey if possible, or will trigger assert error.

var asIntKeyMap ( )

Gets as a ValueMapIntKey reference.

Will convert to ValueMapIntKey if possible, or will trigger assert error.

local asIntKeyMap ( )

Gets as a ValueMapIntKey reference.

Will convert to ValueMapIntKey if possible, or will trigger assert error.

const ValueMapIntKey& asIntKeyMap ( ) const

Gets as a const ValueMapIntKey reference.

Will convert to ValueMapIntKey if possible, or will trigger assert error.

var asIntKeyMap ( )

Gets as a const ValueMapIntKey reference.

Will convert to ValueMapIntKey if possible, or will trigger assert error.

local asIntKeyMap ( )

Gets as a const ValueMapIntKey reference.

Will convert to ValueMapIntKey if possible, or will trigger assert error.

std::string asString ( ) const

Gets as a string value.

Will convert to string if possible, or will trigger assert error.

var asString ( )

Gets as a string value.

Will convert to string if possible, or will trigger assert error.

local asString ( )

Gets as a string value.

Will convert to string if possible, or will trigger assert error.

ValueMap& asValueMap ( )

Gets as a ValueMap reference.

Will convert to ValueMap if possible, or will trigger assert error.

var asValueMap ( )

Gets as a ValueMap reference.

Will convert to ValueMap if possible, or will trigger assert error.

local asValueMap ( )

Gets as a ValueMap reference.

Will convert to ValueMap if possible, or will trigger assert error.

const ValueMap& asValueMap ( ) const

Gets as a const ValueMap reference.

Will convert to ValueMap if possible, or will trigger assert error.

var asValueMap ( )

Gets as a const ValueMap reference.

Will convert to ValueMap if possible, or will trigger assert error.

local asValueMap ( )

Gets as a const ValueMap reference.

Will convert to ValueMap if possible, or will trigger assert error.

ValueVector& asValueVector ( )

Gets as a ValueVector reference.

Will convert to ValueVector if possible, or will trigger assert error.

var asValueVector ( )

Gets as a ValueVector reference.

Will convert to ValueVector if possible, or will trigger assert error.

local asValueVector ( )

Gets as a ValueVector reference.

Will convert to ValueVector if possible, or will trigger assert error.

const ValueVector& asValueVector ( ) const

Gets as a const ValueVector reference.

Will convert to ValueVector if possible, or will trigger assert error.

var asValueVector ( )

Gets as a const ValueVector reference.

Will convert to ValueVector if possible, or will trigger assert error.

local asValueVector ( )

Gets as a const ValueVector reference.

Will convert to ValueVector if possible, or will trigger assert error.

std::string getDescription ( ) const

Gets the description of the class.

var getDescription ( )

Gets the description of the class.

local getDescription ( )

Gets the description of the class.

Type getType ( ) const
inline

Gets the value type.

var getType ( )
inline

Gets the value type.

local getType ( )
inline

Gets the value type.

bool isNull ( ) const
inline

Checks if the Value is null.

Returns
True if the Value is null, false if not.
var isNull ( )
inline

Checks if the Value is null.

Returns
True if the Value is null, false if not.
local isNull ( )
inline

Checks if the Value is null.

Returns
True if the Value is null, false if not.
bool operator!= ( const Value v)

!= operator overloading

bool operator!= ( var  v)

!= operator overloading

bool operator!= ( local  v)

!= operator overloading

bool operator!= ( const Value v) const

!= operator overloading

bool operator!= ( var  v)

!= operator overloading

bool operator!= ( local  v)

!= operator overloading

Value& operator= ( const Value other)

Assignment operator, assign from Value to Value.

Value& operator= ( var  other)

Assignment operator, assign from Value to Value.

Value& operator= ( local  other)

Assignment operator, assign from Value to Value.

Value& operator= ( Value &&  other)

Assignment operator, assign from Value to Value.

It will use std::move internally.

Value& operator= ( var  other)

Assignment operator, assign from Value to Value.

It will use std::move internally.

Value& operator= ( local  other)

Assignment operator, assign from Value to Value.

It will use std::move internally.

Value& operator= ( unsigned char  v)

Assignment operator, assign from unsigned char to Value.

Value& operator= ( var  v)

Assignment operator, assign from unsigned char to Value.

Value& operator= ( local  v)

Assignment operator, assign from unsigned char to Value.

Value& operator= ( int  v)

Assignment operator, assign from integer to Value.

Value& operator= ( var  v)

Assignment operator, assign from integer to Value.

Value& operator= ( local  v)

Assignment operator, assign from integer to Value.

Value& operator= ( float  v)

Assignment operator, assign from float to Value.

Value& operator= ( var  v)

Assignment operator, assign from float to Value.

Value& operator= ( local  v)

Assignment operator, assign from float to Value.

Value& operator= ( double  v)

Assignment operator, assign from double to Value.

Value& operator= ( var  v)

Assignment operator, assign from double to Value.

Value& operator= ( local  v)

Assignment operator, assign from double to Value.

Value& operator= ( bool  v)

Assignment operator, assign from bool to Value.

Value& operator= ( var  v)

Assignment operator, assign from bool to Value.

Value& operator= ( local  v)

Assignment operator, assign from bool to Value.

Value& operator= ( const char *  v)

Assignment operator, assign from char* to Value.

Value& operator= ( var  v)

Assignment operator, assign from char* to Value.

Value& operator= ( local  v)

Assignment operator, assign from char* to Value.

Value& operator= ( const std::string &  v)

Assignment operator, assign from string to Value.

Value& operator= ( var  v)

Assignment operator, assign from string to Value.

Value& operator= ( local  v)

Assignment operator, assign from string to Value.

Value& operator= ( const ValueVector v)

Assignment operator, assign from ValueVector to Value.

Value& operator= ( var  v)

Assignment operator, assign from ValueVector to Value.

Value& operator= ( local  v)

Assignment operator, assign from ValueVector to Value.

Value& operator= ( ValueVector &&  v)

Assignment operator, assign from ValueVector to Value.

Value& operator= ( var  v)

Assignment operator, assign from ValueVector to Value.

Value& operator= ( local  v)

Assignment operator, assign from ValueVector to Value.

Value& operator= ( const ValueMap v)

Assignment operator, assign from ValueMap to Value.

Value& operator= ( var  v)

Assignment operator, assign from ValueMap to Value.

Value& operator= ( local  v)

Assignment operator, assign from ValueMap to Value.

Value& operator= ( ValueMap &&  v)

Assignment operator, assign from ValueMap to Value.

It will use std::move internally.

Value& operator= ( var  v)

Assignment operator, assign from ValueMap to Value.

It will use std::move internally.

Value& operator= ( local  v)

Assignment operator, assign from ValueMap to Value.

It will use std::move internally.

Value& operator= ( const ValueMapIntKey v)

Assignment operator, assign from ValueMapIntKey to Value.

Value& operator= ( var  v)

Assignment operator, assign from ValueMapIntKey to Value.

Value& operator= ( local  v)

Assignment operator, assign from ValueMapIntKey to Value.

Value& operator= ( ValueMapIntKey &&  v)

Assignment operator, assign from ValueMapIntKey to Value.

It will use std::move internally.

Value& operator= ( var  v)

Assignment operator, assign from ValueMapIntKey to Value.

It will use std::move internally.

Value& operator= ( local  v)

Assignment operator, assign from ValueMapIntKey to Value.

It will use std::move internally.

bool operator== ( const Value v)

== operator overloading

bool operator== ( var  v)

== operator overloading

bool operator== ( local  v)

== operator overloading

bool operator== ( const Value v) const

== operator overloading

bool operator== ( var  v)

== operator overloading

bool operator== ( local  v)

== operator overloading

Member Data Documentation

bool boolVal
var boolVal
local boolVal
unsigned char byteVal
var byteVal
local byteVal
double doubleVal
var doubleVal
local doubleVal
float floatVal
var floatVal
local floatVal
ValueMapIntKey* intKeyMapVal
var intKeyMapVal
local intKeyMapVal
int intVal
var intVal
local intVal
ValueMap* mapVal
var mapVal
local mapVal
const Value Null
static

A predefined Value that has not value.

var Null
static

A predefined Value that has not value.

local Null
static

A predefined Value that has not value.

std::string* strVal
var strVal
local strVal
ValueVector* vectorVal
var vectorVal
local vectorVal

The documentation for this class was generated from the following file: