// baljsn_encodingstyle.h *DO NOT EDIT* @generated -*-C++-*- #ifndef INCLUDED_BALJSN_ENCODINGSTYLE #define INCLUDED_BALJSN_ENCODINGSTYLE #include <bsls_ident.h> BSLS_IDENT("$Id: $") //@PURPOSE: Provide value-semantic attribute classes. // ///Implementation Note ///- - - - - - - - - - // This file was generated from a script and was subsequently modified to add // documentation and to make other changes. The steps to generate and update // this file can be found in the 'doc/generating_codec_options.txt' file. #include <balscm_version.h> #include <bslalg_typetraits.h> #include <bdlat_attributeinfo.h> #include <bdlat_enumeratorinfo.h> #include <bdlat_typetraits.h> #include <bsls_assert.h> #include <bsl_iosfwd.h> #include <bsl_ostream.h> #include <bsl_string.h> #include <bsl_string_view.h> namespace BloombergLP { namespace baljsn { // =================== // class EncodingStyle // =================== struct EncodingStyle { // Enumeration of encoding style (COMPACT or PRETTY). public: // TYPES enum Value { e_COMPACT = 0 , e_PRETTY = 1 }; enum { NUM_ENUMERATORS = 2 }; // CONSTANTS static const char CLASS_NAME[]; static const bdlat_EnumeratorInfo ENUMERATOR_INFO_ARRAY[]; // CLASS METHODS static const char *toString(Value value); // Return the string representation exactly matching the enumerator // name corresponding to the specified enumeration 'value'. static int fromString(Value *result, const char *string, int stringLength); // Load into the specified 'result' the enumerator matching the // specified 'string' of the specified 'stringLength'. Return 0 on // success, and a non-zero value with no effect on 'result' otherwise // (i.e., 'string' does not match any enumerator). static int fromString(Value *result, const bsl::string_view& string); // Load into the specified 'result' the enumerator matching the // specified 'string'. Return 0 on success, and a non-zero value with // no effect on 'result' otherwise (i.e., 'string' does not match any // enumerator). static int fromInt(Value *result, int number); // Load into the specified 'result' the enumerator matching the // specified 'number'. Return 0 on success, and a non-zero value with // no effect on 'result' otherwise (i.e., 'number' does not match any // enumerator). static bsl::ostream& print(bsl::ostream& stream, Value value); // Write to the specified 'stream' the string representation of // the specified enumeration 'value'. Return a reference to // the modifiable 'stream'. }; // FREE OPERATORS inline bsl::ostream& operator<<(bsl::ostream& stream, EncodingStyle::Value rhs); // Format the specified 'rhs' to the specified output 'stream' and // return a reference to the modifiable 'stream'. } // close package namespace // TRAITS BDLAT_DECL_ENUMERATION_TRAITS(baljsn::EncodingStyle) // ============================================================================ // INLINE FUNCTION DEFINITIONS // ============================================================================ namespace baljsn { // ------------------- // class EncodingStyle // ------------------- // CLASS METHODS inline int EncodingStyle::fromString(Value *result, const bsl::string_view& string) { return fromString(result, string.data(), static_cast<int>(string.length())); } inline bsl::ostream& EncodingStyle::print(bsl::ostream& stream, EncodingStyle::Value value) { return stream << toString(value); } } // close package namespace // FREE FUNCTIONS inline bsl::ostream& baljsn::operator<<( bsl::ostream& stream, baljsn::EncodingStyle::Value rhs) { return baljsn::EncodingStyle::print(stream, rhs); } } // close enterprise namespace #endif // GENERATED BY BLP_BAS_CODEGEN_3.8.24 Fri Feb 17 12:35:40 2017 // USING bas_codegen.pl -m msg --package baljsn --noExternalization -E --noAggregateConversion baljsn.xsd // SERVICE VERSION // ---------------------------------------------------------------------------- // Copyright 2015 Bloomberg Finance L.P. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // ----------------------------- END-OF-FILE ----------------------------------