Path: blob/master/thirdparty/openxr/src/external/jsoncpp/include/json/json_features.h
9913 views
// Copyright 2007-2010 Baptiste Lepilleur and The JsonCpp Authors1// Distributed under MIT license, or public domain if desired and2// recognized in your jurisdiction.3// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE45#ifndef JSON_FEATURES_H_INCLUDED6#define JSON_FEATURES_H_INCLUDED78#if !defined(JSON_IS_AMALGAMATION)9#include "forwards.h"10#endif // if !defined(JSON_IS_AMALGAMATION)1112#pragma pack(push)13#pragma pack()1415namespace Json {1617/** \brief Configuration passed to reader and writer.18* This configuration object can be used to force the Reader or Writer19* to behave in a standard conforming way.20*/21class JSON_API Features {22public:23/** \brief A configuration that allows all features and assumes all strings24* are UTF-8.25* - C & C++ comments are allowed26* - Root object can be any JSON value27* - Assumes Value strings are encoded in UTF-828*/29static Features all();3031/** \brief A configuration that is strictly compatible with the JSON32* specification.33* - Comments are forbidden.34* - Root object must be either an array or an object value.35* - Assumes Value strings are encoded in UTF-836*/37static Features strictMode();3839/** \brief Initialize the configuration like JsonConfig::allFeatures;40*/41Features();4243/// \c true if comments are allowed. Default: \c true.44bool allowComments_{true};4546/// \c true if root must be either an array or an object value. Default: \c47/// false.48bool strictRoot_{false};4950/// \c true if dropped null placeholders are allowed. Default: \c false.51bool allowDroppedNullPlaceholders_{false};5253/// \c true if numeric object key are allowed. Default: \c false.54bool allowNumericKeys_{false};55};5657} // namespace Json5859#pragma pack(pop)6061#endif // JSON_FEATURES_H_INCLUDED626364