VirtualBox

Changeset 74425 in vbox


Ignore:
Timestamp:
Sep 23, 2018 3:41:48 PM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
125260
Message:

IPRT/rest: Missed RT_NOEXCEPT in two place. Went wild adding RT_NOEXCEPT everywhere possible. bugref:9167

Location:
trunk
Files:
23 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/cpp/restanyobject.h

    r74402 r74425  
    5353public:
    5454    /** Default constructor. */
    55     RTCRestAnyObject();
     55    RTCRestAnyObject() RT_NOEXCEPT;
    5656    /** Destructor. */
    5757    virtual ~RTCRestAnyObject();
     
    6363
    6464    /** Safe copy assignment method. */
    65     int assignCopy(RTCRestAnyObject const &a_rThat);
     65    int assignCopy(RTCRestAnyObject const &a_rThat) RT_NOEXCEPT;
    6666    /** Safe copy assignment method, boolean variant. */
    67     int assignCopy(RTCRestBool const &a_rThat);
     67    int assignCopy(RTCRestBool const &a_rThat) RT_NOEXCEPT;
    6868    /** Safe copy assignment method, int64_t variant. */
    69     int assignCopy(RTCRestInt64 const &a_rThat);
     69    int assignCopy(RTCRestInt64 const &a_rThat) RT_NOEXCEPT;
    7070    /** Safe copy assignment method, int32_t variant. */
    71     int assignCopy(RTCRestInt32 const &a_rThat);
     71    int assignCopy(RTCRestInt32 const &a_rThat) RT_NOEXCEPT;
    7272    /** Safe copy assignment method, int16_t variant. */
    73     int assignCopy(RTCRestInt16 const &a_rThat);
     73    int assignCopy(RTCRestInt16 const &a_rThat) RT_NOEXCEPT;
    7474    /** Safe copy assignment method, double variant. */
    75     int assignCopy(RTCRestDouble const &a_rThat);
     75    int assignCopy(RTCRestDouble const &a_rThat) RT_NOEXCEPT;
    7676    /** Safe copy assignment method, string variant. */
    77     int assignCopy(RTCRestString const &a_rThat);
     77    int assignCopy(RTCRestString const &a_rThat) RT_NOEXCEPT;
    7878    /** Safe copy assignment method, array variant. */
    79     int assignCopy(RTCRestArray<RTCRestAnyObject> const &a_rThat);
     79    int assignCopy(RTCRestArray<RTCRestAnyObject> const &a_rThat) RT_NOEXCEPT;
    8080    /** Safe copy assignment method, string map variant. */
    81     int assignCopy(RTCRestStringMap<RTCRestAnyObject> const &a_rThat);
     81    int assignCopy(RTCRestStringMap<RTCRestAnyObject> const &a_rThat) RT_NOEXCEPT;
    8282
    8383    /** Safe value assignment method, boolean variant. */
    84     int assignValue(bool a_fValue);
     84    int assignValue(bool a_fValue) RT_NOEXCEPT;
    8585    /** Safe value assignment method, int64_t variant. */
    86     int assignValue(int64_t a_iValue);
     86    int assignValue(int64_t a_iValue) RT_NOEXCEPT;
    8787    /** Safe value assignment method, int32_t variant. */
    88     int assignValue(int32_t a_iValue);
     88    int assignValue(int32_t a_iValue) RT_NOEXCEPT;
    8989    /** Safe value assignment method, int16_t variant. */
    90     int assignValue(int16_t a_iValue);
     90    int assignValue(int16_t a_iValue) RT_NOEXCEPT;
    9191    /** Safe value assignment method, double variant. */
    92     int assignValue(double a_iValue);
     92    int assignValue(double a_iValue) RT_NOEXCEPT;
    9393    /** Safe value assignment method, string variant. */
    94     int assignValue(RTCString const &a_rValue);
     94    int assignValue(RTCString const &a_rValue) RT_NOEXCEPT;
    9595    /** Safe value assignment method, C-string variant. */
    96     int assignValue(const char *a_pszValue);
     96    int assignValue(const char *a_pszValue) RT_NOEXCEPT;
    9797
    9898    /** Make a clone of this object. */
    99     inline RTCRestAnyObject *clone() const { return (RTCRestAnyObject *)baseClone(); }
     99    inline RTCRestAnyObject *clone() const RT_NOEXCEPT { return (RTCRestAnyObject *)baseClone(); }
    100100
    101101    /* Overridden methods: */
    102     virtual RTCRestObjectBase *baseClone() const RT_OVERRIDE;
    103     virtual int setNull(void) RT_OVERRIDE;
    104     virtual int resetToDefault() RT_OVERRIDE;
    105     virtual RTCRestOutputBase &serializeAsJson(RTCRestOutputBase &a_rDst) const RT_OVERRIDE;
    106     virtual int deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_OVERRIDE;
    107     virtual int toString(RTCString *a_pDst, uint32_t a_fFlags = kCollectionFormat_Unspecified) const RT_OVERRIDE;
     102    virtual RTCRestObjectBase *baseClone() const RT_NOEXCEPT RT_OVERRIDE;
     103    virtual int setNull(void) RT_NOEXCEPT RT_OVERRIDE;
     104    virtual int resetToDefault() RT_NOEXCEPT RT_OVERRIDE;
     105    virtual RTCRestOutputBase &serializeAsJson(RTCRestOutputBase &a_rDst) const RT_NOEXCEPT RT_OVERRIDE;
     106    virtual int deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT RT_OVERRIDE;
     107    virtual int toString(RTCString *a_pDst, uint32_t a_fFlags = kCollectionFormat_Unspecified) const RT_NOEXCEPT RT_OVERRIDE;
    108108    virtual int fromString(RTCString const &a_rValue, const char *a_pszName, PRTERRINFO a_pErrInfo = NULL,
    109                            uint32_t a_fFlags = kCollectionFormat_Unspecified) RT_OVERRIDE;
    110     virtual kTypeClass typeClass(void) const RT_OVERRIDE;
    111     virtual const char *typeName(void) const RT_OVERRIDE;
     109                           uint32_t a_fFlags = kCollectionFormat_Unspecified) RT_NOEXCEPT RT_OVERRIDE;
     110    virtual kTypeClass typeClass(void) const RT_NOEXCEPT RT_OVERRIDE;
     111    virtual const char *typeName(void) const RT_NOEXCEPT RT_OVERRIDE;
    112112
    113113    /** Factory method. */
    114     static DECLCALLBACK(RTCRestObjectBase *) createInstance(void);
     114    static DECLCALLBACK(RTCRestObjectBase *) createInstance(void) RT_NOEXCEPT;
    115115    /** Deserialization w/ instantiation. */
    116116    static FNDESERIALIZEINSTANCEFROMJSON deserializeInstanceFromJson;
  • trunk/include/iprt/cpp/restarray.h

    r74402 r74425  
    4242public:
    4343    /** Default destructor. */
    44     RTCRestArrayBase();
     44    RTCRestArrayBase() RT_NOEXCEPT;
    4545    /** Destructor. */
    4646    virtual ~RTCRestArrayBase();
    4747
    4848    /* Overridden methods: */
    49     virtual RTCRestObjectBase *baseClone() const RT_OVERRIDE;
    50     virtual int resetToDefault() RT_OVERRIDE;
    51     virtual RTCRestOutputBase &serializeAsJson(RTCRestOutputBase &a_rDst) const RT_OVERRIDE;
    52     virtual int deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_OVERRIDE;
    53     virtual int toString(RTCString *a_pDst, uint32_t a_fFlags = kCollectionFormat_Unspecified) const RT_OVERRIDE;
     49    virtual RTCRestObjectBase *baseClone() const RT_NOEXCEPT RT_OVERRIDE;
     50    virtual int resetToDefault() RT_NOEXCEPT RT_OVERRIDE;
     51    virtual RTCRestOutputBase &serializeAsJson(RTCRestOutputBase &a_rDst) const RT_NOEXCEPT RT_OVERRIDE;
     52    virtual int deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT RT_OVERRIDE;
     53    virtual int toString(RTCString *a_pDst, uint32_t a_fFlags = kCollectionFormat_Unspecified) const RT_NOEXCEPT RT_OVERRIDE;
    5454    virtual int fromString(RTCString const &a_rValue, const char *a_pszName, PRTERRINFO a_pErrInfo = NULL,
    55                            uint32_t a_fFlags = kCollectionFormat_Unspecified) RT_OVERRIDE;
    56     virtual kTypeClass typeClass(void) const RT_OVERRIDE;
    57     virtual const char *typeName(void) const RT_OVERRIDE;
     55                           uint32_t a_fFlags = kCollectionFormat_Unspecified) RT_NOEXCEPT RT_OVERRIDE;
     56    virtual kTypeClass typeClass(void) const RT_NOEXCEPT RT_OVERRIDE;
     57    virtual const char *typeName(void) const RT_NOEXCEPT RT_OVERRIDE;
    5858
    5959    /**
    6060     * Clear the content of the map.
    6161     */
    62     void clear();
     62    void clear() RT_NOEXCEPT;
    6363
    6464    /**
     
    6767     * @return   True if there is more than zero items, false otherwise.
    6868     */
    69     inline bool isEmpty() const
     69    inline bool isEmpty() const RT_NOEXCEPT
    7070    {
    7171        return m_cElements == 0;
     
    7575     * Gets the number of entries in the map.
    7676     */
    77     inline size_t size() const
     77    inline size_t size() const RT_NOEXCEPT
    7878    {
    7979        return m_cElements;
     
    8686     * @param   a_idx           The array index.
    8787     */
    88     inline RTCRestObjectBase *atBase(size_t a_idx)
     88    inline RTCRestObjectBase *atBase(size_t a_idx) RT_NOEXCEPT
    8989    {
    9090        if (a_idx < m_cElements)
     
    9999     * @param   a_idx           The array index.
    100100     */
    101     inline RTCRestObjectBase const *atBase(size_t a_idx) const
     101    inline RTCRestObjectBase const *atBase(size_t a_idx) const RT_NOEXCEPT
    102102    {
    103103        if (a_idx < m_cElements)
     
    112112     *                      The value ~(size_t)0 is an alias for the final element.
    113113     */
    114     bool removeAt(size_t a_idx);
     114    bool removeAt(size_t a_idx) RT_NOEXCEPT;
    115115
    116116    /**
     
    120120     * @param   a_cEnsureCapacity   The number of elements to ensure capacity to hold.
    121121     */
    122     int ensureCapacity(size_t a_cEnsureCapacity);
     122    int ensureCapacity(size_t a_cEnsureCapacity) RT_NOEXCEPT;
    123123
    124124
     
    137137     * @returns Pointer to new array on success, NULL if out of memory.
    138138     */
    139     virtual RTCRestArrayBase *createClone(void) const = 0;
     139    virtual RTCRestArrayBase *createClone(void) const RT_NOEXCEPT = 0;
    140140
    141141    /**
     
    144144     * @returns Pointer to new value object on success, NULL if out of memory.
    145145     */
    146     virtual RTCRestObjectBase *createValue(void) = 0;
     146    virtual RTCRestObjectBase *createValue(void) RT_NOEXCEPT = 0;
    147147
    148148    /**
    149149     * For accessing the static deserializeInstanceFromJson() method of the value.
    150150     */
    151     virtual int deserializeValueInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance) = 0;
    152 
    153     /**
    154      * Worker for the copy constructor and the assignment operator.
     151    virtual int deserializeValueInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance) RT_NOEXCEPT = 0;
     152
     153    /**
     154     * Worker for the copy assignment method and copyArrayWorkerMayThrow().
    155155     *
    156156     * This will use createEntryCopy to do the copying.
     
    159159     * @param   a_rThat     The array to copy.  Caller makes 100% sure the it has
    160160     *                      the same type as the destination.
    161      * @param   a_fThrow    Whether to throw error.
    162      */
    163     int copyArrayWorker(RTCRestArrayBase const &a_rThat, bool a_fThrow);
     161     */
     162    int copyArrayWorkerNoThrow(RTCRestArrayBase const &a_rThat) RT_NOEXCEPT;
     163
     164    /**
     165     * Wrapper around copyArrayWorkerNoThrow for the copy constructor and the
     166     * assignment operator.
     167     */
     168    void copyArrayWorkerMayThrow(RTCRestArrayBase const &a_rThat);
    164169
    165170    /**
     
    172177     * @param   a_fReplace      Whether to replace existing entry rather than insert.
    173178     */
    174     int insertWorker(size_t a_idx, RTCRestObjectBase *a_pValue, bool a_fReplace);
     179    int insertWorker(size_t a_idx, RTCRestObjectBase *a_pValue, bool a_fReplace) RT_NOEXCEPT;
    175180
    176181    /**
     
    183188     * @param   a_fReplace      Whether to replace existing key-value pair with matching key.
    184189     */
    185     int insertCopyWorker(size_t a_idx, RTCRestObjectBase const &a_rValue, bool a_fReplace);
     190    int insertCopyWorker(size_t a_idx, RTCRestObjectBase const &a_rValue, bool a_fReplace) RT_NOEXCEPT;
    186191
    187192private:
     
    201206public:
    202207    /** Default constructor - empty array. */
    203     RTCRestArray()
     208    RTCRestArray() RT_NOEXCEPT
    204209        : RTCRestArrayBase()
    205210    {
     
    215220        : RTCRestArrayBase()
    216221    {
    217         copyArrayWorker(a_rThat, true /*fThrow*/);
     222        copyArrayWorkerMayThrow(a_rThat);
    218223    }
    219224
     
    221226    inline RTCRestArray &operator=(RTCRestArray const &a_rThat)
    222227    {
    223         copyArrayWorker(a_rThat, true /*fThrow*/);
     228        copyArrayWorkerMayThrow(a_rThat);
    224229        return *this;
    225230    }
    226231
    227232    /** Safe copy assignment method. */
    228     inline int assignCopy(RTCRestArray const &a_rThat)
    229     {
    230         return copyArrayWorker(a_rThat, false /*fThrow*/);
     233    inline int assignCopy(RTCRestArray const &a_rThat) RT_NOEXCEPT
     234    {
     235        return copyArrayWorkerNoThrow(a_rThat);
    231236    }
    232237
    233238    /** Make a clone of this object. */
    234     inline RTCRestArray *clone() const
     239    inline RTCRestArray *clone() const RT_NOEXCEPT
    235240    {
    236241        return (RTCRestArray *)baseClone();
     
    238243
    239244    /** Factory method. */
    240     static DECLCALLBACK(RTCRestObjectBase *) createInstance(void)
     245    static DECLCALLBACK(RTCRestObjectBase *) createInstance(void) RT_NOEXCEPT
    241246    {
    242247        return new (std::nothrow) RTCRestArray<ElementType>();
     
    244249
    245250    /** Factory method for elements. */
    246     static DECLCALLBACK(RTCRestObjectBase *) createElementInstance(void)
     251    static DECLCALLBACK(RTCRestObjectBase *) createElementInstance(void) RT_NOEXCEPT
    247252    {
    248253        return new (std::nothrow) ElementType();
     
    250255
    251256    /** @copydoc RTCRestObjectBase::FNDESERIALIZEINSTANCEFROMJSON */
    252     static DECLCALLBACK(int) deserializeInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance)
     257    static DECLCALLBACK(int) deserializeInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance) RT_NOEXCEPT
    253258    {
    254259        *a_ppInstance = new (std::nothrow) RTCRestArray<ElementType>();
     
    267272     * @param   a_pThat         The object to insert.  The array takes ownership of the object on success.
    268273     */
    269     inline int insert(size_t a_idx, ElementType *a_pThat)
     274    inline int insert(size_t a_idx, ElementType *a_pThat) RT_NOEXCEPT
    270275    {
    271276        return insertWorker(a_idx, a_pThat, false /*a_fReplace*/);
     
    280285     * @param   a_rThat         The object to insert a copy of.
    281286     */
    282     inline int insertCopy(size_t a_idx, ElementType const &a_rThat)
     287    inline int insertCopy(size_t a_idx, ElementType const &a_rThat) RT_NOEXCEPT
    283288    {
    284289        return insertCopyWorker(a_idx, a_rThat, false /*a_fReplace*/);
     
    292297     * @param   a_pThat         The object to insert.  The array takes ownership of the object on success.
    293298     */
    294     inline int append(ElementType *a_pThat)
     299    inline int append(ElementType *a_pThat) RT_NOEXCEPT
    295300    {
    296301        return insertWorker(~(size_t)0, a_pThat, false /*a_fReplace*/);
     
    304309     * @param   a_rThat         The object to insert a copy of.
    305310     */
    306     inline int appendCopy(ElementType const &a_rThat)
     311    inline int appendCopy(ElementType const &a_rThat) RT_NOEXCEPT
    307312    {
    308313        return insertCopyWorker(~(size_t)0, a_rThat, false /*a_fReplace*/);
     
    316321     * @param   a_pThat         The object to insert.  The array takes ownership of the object on success.
    317322     */
    318     inline int prepend(ElementType *a_pThat)
     323    inline int prepend(ElementType *a_pThat) RT_NOEXCEPT
    319324    {
    320325        return insertWorker(0, a_pThat, false /*a_fReplace*/);
     
    328333     * @param   a_rThat         The object to insert a copy of.
    329334     */
    330     inline int prependCopy(ElementType const &a_rThat)
     335    inline int prependCopy(ElementType const &a_rThat) RT_NOEXCEPT
    331336    {
    332337        return insertCopyWorker(0, a_rThat, false /*a_fReplace*/);
     
    341346     * @param   a_pThat         The replacement object.  The array takes ownership of the object on success.
    342347     */
    343     inline int replace(size_t a_idx, ElementType *a_pThat)
     348    inline int replace(size_t a_idx, ElementType *a_pThat) RT_NOEXCEPT
    344349    {
    345350        return insertWorker(a_idx, a_pThat, true /*a_fReplace*/);
     
    354359     * @param   a_rThat         The object to insert a copy of.
    355360     */
    356     inline int replaceCopy(size_t a_idx, ElementType const &a_rThat)
     361    inline int replaceCopy(size_t a_idx, ElementType const &a_rThat) RT_NOEXCEPT
    357362    {
    358363        return insertCopyWorker(a_idx, a_rThat, true /*a_fReplace*/);
     
    365370     * @param   a_idx           The array index.
    366371     */
    367     inline ElementType *at(size_t a_idx)
     372    inline ElementType *at(size_t a_idx) RT_NOEXCEPT
    368373    {
    369374        if (a_idx < m_cElements)
     
    378383     * @param   a_idx           The array index.
    379384     */
    380     inline ElementType const *at(size_t a_idx) const
     385    inline ElementType const *at(size_t a_idx) const RT_NOEXCEPT
    381386    {
    382387        if (a_idx < m_cElements)
     
    389394     * @returns The first object, NULL if empty.
    390395     */
    391     inline ElementType *first()
     396    inline ElementType *first() RT_NOEXCEPT
    392397    {
    393398        return at(0);
     
    398403     * @returns The first object, NULL if empty.
    399404     */
    400     inline ElementType const *first() const
     405    inline ElementType const *first() const RT_NOEXCEPT
    401406    {
    402407        return at(0);
     
    407412     * @returns The last object, NULL if empty.
    408413     */
    409     inline ElementType *last()
     414    inline ElementType *last() RT_NOEXCEPT
    410415    {
    411416        return at(m_cElements - 1);
     
    416421     * @returns The last object, NULL if empty.
    417422     */
    418     inline ElementType const *last() const
     423    inline ElementType const *last() const RT_NOEXCEPT
    419424    {
    420425        return at(m_cElements - 1);
     
    423428
    424429protected:
    425     virtual RTCRestArrayBase *createClone(void) const RT_OVERRIDE
     430    virtual RTCRestArrayBase *createClone(void) const RT_NOEXCEPT RT_OVERRIDE
    426431    {
    427432        return new (std::nothrow) RTCRestArray();
    428433    }
    429434
    430     virtual RTCRestObjectBase *createValue(void) RT_OVERRIDE
     435    virtual RTCRestObjectBase *createValue(void) RT_NOEXCEPT RT_OVERRIDE
    431436    {
    432437        return new (std::nothrow) ElementType();
    433438    }
    434439
    435     virtual int deserializeValueInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance) RT_OVERRIDE
     440    virtual int deserializeValueInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance) RT_NOEXCEPT RT_OVERRIDE
    436441    {
    437442        return ElementType::deserializeInstanceFromJson(a_rCursor, a_ppInstance);
  • trunk/include/iprt/cpp/restbase.h

    r74414 r74425  
    6161    RTCRestJsonPrimaryCursor           *m_pPrimary;
    6262
    63     RTCRestJsonCursor(struct RTCRestJsonCursor const &a_rParent)
     63    RTCRestJsonCursor(struct RTCRestJsonCursor const &a_rParent) RT_NOEXCEPT
    6464        : m_hValue(NIL_RTJSONVAL), m_pszName(NULL), m_pParent(&a_rParent), m_pPrimary(a_rParent.m_pPrimary)
    6565    { }
    6666
    67     RTCRestJsonCursor(RTJSONVAL hValue, const char *pszName, struct RTCRestJsonCursor *pParent)
     67    RTCRestJsonCursor(RTJSONVAL hValue, const char *pszName, struct RTCRestJsonCursor *pParent) RT_NOEXCEPT
    6868        : m_hValue(hValue), m_pszName(pszName), m_pParent(pParent), m_pPrimary(pParent->m_pPrimary)
    6969    { }
    7070
    71     RTCRestJsonCursor(RTJSONVAL hValue, const char *pszName)
     71    RTCRestJsonCursor(RTJSONVAL hValue, const char *pszName) RT_NOEXCEPT
    7272        : m_hValue(hValue), m_pszName(pszName), m_pParent(NULL), m_pPrimary(NULL)
    7373    { }
     
    9696
    9797    /** Creates a primary json cursor with optiona error info. */
    98     RTCRestJsonPrimaryCursor(RTJSONVAL hValue, const char *pszName, PRTERRINFO pErrInfo = NULL)
     98    RTCRestJsonPrimaryCursor(RTJSONVAL hValue, const char *pszName, PRTERRINFO pErrInfo = NULL) RT_NOEXCEPT
    9999        : m_Cursor(hValue, pszName)
    100100        , m_pErrInfo(pErrInfo)
     
    115115     * @param   ...             Format string arguments.
    116116     */
    117     virtual int addError(RTCRestJsonCursor const &a_rCursor, int a_rc, const char *a_pszFormat, ...);
     117    virtual int addError(RTCRestJsonCursor const &a_rCursor, int a_rc, const char *a_pszFormat, ...) RT_NOEXCEPT;
    118118
    119119    /**
     
    123123     * @param   a_rCursor       The cursor for the field.
    124124     */
    125     virtual int unknownField(RTCRestJsonCursor const &a_rCursor);
     125    virtual int unknownField(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT;
    126126
    127127    /**
     
    133133     * @param   a_cbDst         Size of the destination buffer.
    134134     */
    135     virtual char *getPath(RTCRestJsonCursor const &a_rCursor, char *a_pszDst, size_t a_cbDst) const;
     135    virtual char *getPath(RTCRestJsonCursor const &a_rCursor, char *a_pszDst, size_t a_cbDst) const RT_NOEXCEPT;
    136136};
    137137
     
    146146{
    147147public:
    148     RTCRestObjectBase();
    149     RTCRestObjectBase(RTCRestObjectBase const &a_rThat);
     148    RTCRestObjectBase() RT_NOEXCEPT;
     149    RTCRestObjectBase(RTCRestObjectBase const &a_rThat) RT_NOEXCEPT;
    150150    virtual ~RTCRestObjectBase();
    151151
     
    155155     * @returns Pointer to copy.
    156156     */
    157     virtual RTCRestObjectBase *baseClone() const = 0;
     157    virtual RTCRestObjectBase *baseClone() const RT_NOEXCEPT = 0;
    158158
    159159    /**
     
    161161     * @returns true if null, false if not.
    162162     */
    163     inline bool isNull(void) const { return m_fNullIndicator; };
     163    inline bool isNull(void) const RT_NOEXCEPT { return m_fNullIndicator; };
    164164
    165165    /**
     
    167167     * @returns IPRT status code (from resetToDefault).
    168168     */
    169     virtual int setNull(void);
     169    virtual int setNull(void) RT_NOEXCEPT;
    170170
    171171    /**
     
    173173     * @remarks Only really important for strings.
    174174     */
    175     virtual void setNotNull(void);
     175    virtual void setNotNull(void) RT_NOEXCEPT;
    176176
    177177    /**
     
    179179     * @returns IPRT status code.
    180180     */
    181     virtual int resetToDefault() = 0;
     181    virtual int resetToDefault() RT_NOEXCEPT = 0;
    182182
    183183    /**
     
    187187     * @param   a_rDst      The destination for the serialization.
    188188     */
    189     virtual RTCRestOutputBase &serializeAsJson(RTCRestOutputBase &a_rDst) const = 0;
     189    virtual RTCRestOutputBase &serializeAsJson(RTCRestOutputBase &a_rDst) const RT_NOEXCEPT = 0;
    190190
    191191    /**
     
    195195     * @param   a_rCursor    The JSON cursor.
    196196     */
    197     virtual int deserializeFromJson(RTCRestJsonCursor const &a_rCursor) = 0;
     197    virtual int deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT = 0;
    198198
    199199    /**
     
    242242     * @param   a_fFlags    kCollectionFormat_xxx.
    243243     */
    244     virtual int toString(RTCString *a_pDst, uint32_t a_fFlags = kCollectionFormat_Unspecified) const;
     244    virtual int toString(RTCString *a_pDst, uint32_t a_fFlags = kCollectionFormat_Unspecified) const RT_NOEXCEPT;
    245245
    246246    /**
     
    263263     */
    264264    virtual int fromString(RTCString const &a_rValue, const char *a_pszName, PRTERRINFO a_pErrInfo = NULL,
    265                            uint32_t a_fFlags = kCollectionFormat_Unspecified);
     265                           uint32_t a_fFlags = kCollectionFormat_Unspecified) RT_NOEXCEPT;
    266266
    267267    /** Type classification */
     
    288288     * Returns the object type class.
    289289     */
    290     virtual kTypeClass typeClass(void) const = 0;
     290    virtual kTypeClass typeClass(void) const RT_NOEXCEPT = 0;
    291291
    292292    /**
    293293     * Returns the object type name.
    294294     */
    295     virtual const char *typeName(void) const = 0;
     295    virtual const char *typeName(void) const RT_NOEXCEPT = 0;
    296296
    297297protected:
     
    314314public:
    315315    /** Default constructor. */
    316     RTCRestBool();
     316    RTCRestBool() RT_NOEXCEPT;
    317317    /** Copy constructor. */
    318     RTCRestBool(RTCRestBool const &a_rThat);
     318    RTCRestBool(RTCRestBool const &a_rThat) RT_NOEXCEPT;
    319319    /** From value constructor. */
    320     RTCRestBool(bool fValue);
     320    RTCRestBool(bool fValue) RT_NOEXCEPT;
    321321    /** Destructor. */
    322322    virtual ~RTCRestBool();
    323323    /** Copy assignment operator. */
    324     RTCRestBool &operator=(RTCRestBool const &a_rThat);
    325     /** Safe copy assignment method. */
    326     int assignCopy(RTCRestBool const &a_rThat);
     324    RTCRestBool &operator=(RTCRestBool const &a_rThat) RT_NOEXCEPT;
     325    /** Safe copy assignment method. */
     326    int assignCopy(RTCRestBool const &a_rThat) RT_NOEXCEPT;
    327327    /** Assign value and clear null indicator. */
    328     void assignValue(bool a_fValue);
     328    void assignValue(bool a_fValue) RT_NOEXCEPT;
    329329    /** Make a clone of this object. */
    330     inline RTCRestBool *clone() const { return (RTCRestBool *)baseClone(); }
     330    inline RTCRestBool *clone() const RT_NOEXCEPT { return (RTCRestBool *)baseClone(); }
    331331
    332332    /* Overridden methods: */
    333     virtual RTCRestObjectBase *baseClone() const RT_OVERRIDE;
    334     virtual int resetToDefault() RT_OVERRIDE;
    335     virtual RTCRestOutputBase &serializeAsJson(RTCRestOutputBase &a_rDst) const RT_OVERRIDE;
    336     virtual int deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_OVERRIDE;
    337     virtual int toString(RTCString *a_pDst, uint32_t a_fFlags = 0) const RT_OVERRIDE;
     333    virtual RTCRestObjectBase *baseClone() const RT_NOEXCEPT RT_OVERRIDE;
     334    virtual int resetToDefault() RT_NOEXCEPT RT_OVERRIDE;
     335    virtual RTCRestOutputBase &serializeAsJson(RTCRestOutputBase &a_rDst) const RT_NOEXCEPT RT_OVERRIDE;
     336    virtual int deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT RT_OVERRIDE;
     337    virtual int toString(RTCString *a_pDst, uint32_t a_fFlags = 0) const RT_NOEXCEPT RT_OVERRIDE;
    338338    virtual int fromString(RTCString const &a_rValue, const char *a_pszName, PRTERRINFO a_pErrInfo = NULL,
    339                            uint32_t a_fFlags = kCollectionFormat_Unspecified) RT_OVERRIDE;
    340     virtual kTypeClass typeClass(void) const RT_OVERRIDE;
    341     virtual const char *typeName(void) const RT_OVERRIDE;
     339                           uint32_t a_fFlags = kCollectionFormat_Unspecified) RT_NOEXCEPT RT_OVERRIDE;
     340    virtual kTypeClass typeClass(void) const RT_NOEXCEPT RT_OVERRIDE;
     341    virtual const char *typeName(void) const RT_NOEXCEPT RT_OVERRIDE;
    342342
    343343    /** Factory method. */
    344     static DECLCALLBACK(RTCRestObjectBase *) createInstance(void);
    345     /** Deserialization w/ instantiation. */
    346     static FNDESERIALIZEINSTANCEFROMJSON deserializeInstanceFromJson;
     344    static DECLCALLBACK(RTCRestObjectBase *) createInstance(void) RT_NOEXCEPT;
     345    /** @copydoc RTCRestObjectBase::FNDESERIALIZEINSTANCEFROMJSON */
     346    static DECLCALLBACK(int) deserializeInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance) RT_NOEXCEPT;
    347347
    348348public:
     
    359359public:
    360360    /** Default constructor. */
    361     RTCRestInt64();
     361    RTCRestInt64() RT_NOEXCEPT;
    362362    /** Copy constructor. */
    363     RTCRestInt64(RTCRestInt64 const &a_rThat);
     363    RTCRestInt64(RTCRestInt64 const &a_rThat) RT_NOEXCEPT;
    364364    /** From value constructor. */
    365     RTCRestInt64(int64_t a_iValue);
     365    RTCRestInt64(int64_t a_iValue) RT_NOEXCEPT;
    366366    /** Destructor. */
    367367    virtual ~RTCRestInt64();
    368368    /** Copy assignment operator. */
    369     RTCRestInt64 &operator=(RTCRestInt64 const &a_rThat);
    370     /** Safe copy assignment method. */
    371     int assignCopy(RTCRestInt64 const &a_rThat);
     369    RTCRestInt64 &operator=(RTCRestInt64 const &a_rThat) RT_NOEXCEPT;
     370    /** Safe copy assignment method. */
     371    int assignCopy(RTCRestInt64 const &a_rThat) RT_NOEXCEPT;
    372372    /** Assign value and clear null indicator. */
    373     void assignValue(int64_t a_iValue);
     373    void assignValue(int64_t a_iValue) RT_NOEXCEPT;
    374374    /** Make a clone of this object. */
    375     inline RTCRestInt64 *clone() const { return (RTCRestInt64 *)baseClone(); }
     375    inline RTCRestInt64 *clone() const RT_NOEXCEPT { return (RTCRestInt64 *)baseClone(); }
    376376
    377377    /* Overridden methods: */
    378     virtual RTCRestObjectBase *baseClone() const RT_OVERRIDE;
    379     virtual int resetToDefault() RT_OVERRIDE;
    380     virtual RTCRestOutputBase &serializeAsJson(RTCRestOutputBase &a_rDst) const RT_OVERRIDE;
    381     virtual int deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_OVERRIDE;
    382     virtual int toString(RTCString *a_pDst, uint32_t a_fFlags = 0) const RT_OVERRIDE;
     378    virtual RTCRestObjectBase *baseClone() const RT_NOEXCEPT RT_OVERRIDE;
     379    virtual int resetToDefault() RT_NOEXCEPT RT_OVERRIDE;
     380    virtual RTCRestOutputBase &serializeAsJson(RTCRestOutputBase &a_rDst) const RT_NOEXCEPT RT_OVERRIDE;
     381    virtual int deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT RT_OVERRIDE;
     382    virtual int toString(RTCString *a_pDst, uint32_t a_fFlags = 0) const RT_NOEXCEPT RT_OVERRIDE;
    383383    virtual int fromString(RTCString const &a_rValue, const char *a_pszName, PRTERRINFO a_pErrInfo = NULL,
    384                            uint32_t a_fFlags = kCollectionFormat_Unspecified) RT_OVERRIDE;
    385     virtual kTypeClass typeClass(void) const RT_OVERRIDE;
    386     virtual const char *typeName(void) const RT_OVERRIDE;
     384                           uint32_t a_fFlags = kCollectionFormat_Unspecified) RT_NOEXCEPT RT_OVERRIDE;
     385    virtual kTypeClass typeClass(void) const RT_NOEXCEPT RT_OVERRIDE;
     386    virtual const char *typeName(void) const RT_NOEXCEPT RT_OVERRIDE;
    387387
    388388    /** Factory method. */
    389     static DECLCALLBACK(RTCRestObjectBase *) createInstance(void);
    390     /** Deserialization w/ instantiation. */
    391     static FNDESERIALIZEINSTANCEFROMJSON deserializeInstanceFromJson;
     389    static DECLCALLBACK(RTCRestObjectBase *) createInstance(void) RT_NOEXCEPT;
     390    /** @copydoc RTCRestObjectBase::FNDESERIALIZEINSTANCEFROMJSON */
     391    static DECLCALLBACK(int) deserializeInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance) RT_NOEXCEPT;
    392392
    393393public:
     
    404404public:
    405405    /** Default constructor. */
    406     RTCRestInt32();
     406    RTCRestInt32() RT_NOEXCEPT;
    407407    /** Copy constructor. */
    408     RTCRestInt32(RTCRestInt32 const &a_rThat);
     408    RTCRestInt32(RTCRestInt32 const &a_rThat) RT_NOEXCEPT;
    409409    /** From value constructor. */
    410     RTCRestInt32(int32_t iValue);
     410    RTCRestInt32(int32_t iValue) RT_NOEXCEPT;
    411411    /** Destructor. */
    412     virtual ~RTCRestInt32();
     412    virtual ~RTCRestInt32() RT_NOEXCEPT;
    413413    /** Copy assignment operator. */
    414     RTCRestInt32 &operator=(RTCRestInt32 const &a_rThat);
    415     /** Safe copy assignment method. */
    416     int assignCopy(RTCRestInt32 const &a_rThat);
     414    RTCRestInt32 &operator=(RTCRestInt32 const &a_rThat) RT_NOEXCEPT;
     415    /** Safe copy assignment method. */
     416    int assignCopy(RTCRestInt32 const &a_rThat) RT_NOEXCEPT;
    417417    /** Assign value and clear null indicator. */
    418     void assignValue(int32_t a_iValue);
     418    void assignValue(int32_t a_iValue) RT_NOEXCEPT;
    419419    /** Make a clone of this object. */
    420420    inline RTCRestInt32 *clone() const { return (RTCRestInt32 *)baseClone(); }
    421421
    422422    /* Overridden methods: */
    423     virtual RTCRestObjectBase *baseClone() const RT_OVERRIDE;
    424     virtual int resetToDefault() RT_OVERRIDE;
    425     virtual RTCRestOutputBase &serializeAsJson(RTCRestOutputBase &a_rDst) const RT_OVERRIDE;
    426     virtual int deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_OVERRIDE;
    427     virtual int toString(RTCString *a_pDst, uint32_t a_fFlags = 0) const RT_OVERRIDE;
     423    virtual RTCRestObjectBase *baseClone() const RT_NOEXCEPT RT_OVERRIDE;
     424    virtual int resetToDefault() RT_NOEXCEPT RT_OVERRIDE;
     425    virtual RTCRestOutputBase &serializeAsJson(RTCRestOutputBase &a_rDst) const RT_NOEXCEPT RT_OVERRIDE;
     426    virtual int deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT RT_OVERRIDE;
     427    virtual int toString(RTCString *a_pDst, uint32_t a_fFlags = 0) const RT_NOEXCEPT RT_OVERRIDE;
    428428    virtual int fromString(RTCString const &a_rValue, const char *a_pszName, PRTERRINFO a_pErrInfo = NULL,
    429                            uint32_t a_fFlags = kCollectionFormat_Unspecified) RT_OVERRIDE;
    430     virtual kTypeClass typeClass(void) const RT_OVERRIDE;
    431     virtual const char *typeName(void) const RT_OVERRIDE;
     429                           uint32_t a_fFlags = kCollectionFormat_Unspecified) RT_NOEXCEPT RT_OVERRIDE;
     430    virtual kTypeClass typeClass(void) const RT_NOEXCEPT RT_OVERRIDE;
     431    virtual const char *typeName(void) const RT_NOEXCEPT RT_OVERRIDE;
    432432
    433433    /** Factory method. */
    434     static DECLCALLBACK(RTCRestObjectBase *) createInstance(void);
    435     /** Deserialization w/ instantiation. */
    436     static FNDESERIALIZEINSTANCEFROMJSON deserializeInstanceFromJson;
     434    static DECLCALLBACK(RTCRestObjectBase *) createInstance(void) RT_NOEXCEPT;
     435    /** @copydoc RTCRestObjectBase::FNDESERIALIZEINSTANCEFROMJSON */
     436    static DECLCALLBACK(int) deserializeInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance) RT_NOEXCEPT;
    437437
    438438public:
     
    449449public:
    450450    /** Default constructor. */
    451     RTCRestInt16();
     451    RTCRestInt16() RT_NOEXCEPT;
    452452    /** Copy constructor. */
    453     RTCRestInt16(RTCRestInt16 const &a_rThat);
     453    RTCRestInt16(RTCRestInt16 const &a_rThat) RT_NOEXCEPT;
    454454    /** From value constructor. */
    455     RTCRestInt16(int16_t iValue);
     455    RTCRestInt16(int16_t iValue) RT_NOEXCEPT;
    456456    /** Destructor. */
    457457    virtual ~RTCRestInt16();
    458458    /** Copy assignment operator. */
    459     RTCRestInt16 &operator=(RTCRestInt16 const &a_rThat);
    460     /** Safe copy assignment method. */
    461     int assignCopy(RTCRestInt16 const &a_rThat);
     459    RTCRestInt16 &operator=(RTCRestInt16 const &a_rThat) RT_NOEXCEPT;
     460    /** Safe copy assignment method. */
     461    int assignCopy(RTCRestInt16 const &a_rThat) RT_NOEXCEPT;
    462462    /** Assign value and clear null indicator. */
    463     void assignValue(int16_t a_iValue);
     463    void assignValue(int16_t a_iValue) RT_NOEXCEPT;
    464464    /** Make a clone of this object. */
    465     inline RTCRestInt16 *clone() const { return (RTCRestInt16 *)baseClone(); }
     465    inline RTCRestInt16 *clone() const RT_NOEXCEPT { return (RTCRestInt16 *)baseClone(); }
    466466
    467467    /* Overridden methods: */
    468     virtual RTCRestObjectBase *baseClone() const RT_OVERRIDE;
    469     virtual int resetToDefault() RT_OVERRIDE;
    470     virtual RTCRestOutputBase &serializeAsJson(RTCRestOutputBase &a_rDst) const RT_OVERRIDE;
    471     virtual int deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_OVERRIDE;
    472     virtual int toString(RTCString *a_pDst, uint32_t a_fFlags = 0) const RT_OVERRIDE;
     468    virtual RTCRestObjectBase *baseClone() const RT_NOEXCEPT RT_OVERRIDE;
     469    virtual int resetToDefault() RT_NOEXCEPT RT_OVERRIDE;
     470    virtual RTCRestOutputBase &serializeAsJson(RTCRestOutputBase &a_rDst) const RT_NOEXCEPT RT_OVERRIDE;
     471    virtual int deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT RT_OVERRIDE;
     472    virtual int toString(RTCString *a_pDst, uint32_t a_fFlags = 0) const RT_NOEXCEPT RT_OVERRIDE;
    473473    virtual int fromString(RTCString const &a_rValue, const char *a_pszName, PRTERRINFO a_pErrInfo = NULL,
    474                            uint32_t a_fFlags = kCollectionFormat_Unspecified) RT_OVERRIDE;
    475     virtual kTypeClass typeClass(void) const RT_OVERRIDE;
    476     virtual const char *typeName(void) const RT_OVERRIDE;
     474                           uint32_t a_fFlags = kCollectionFormat_Unspecified) RT_NOEXCEPT RT_OVERRIDE;
     475    virtual kTypeClass typeClass(void) const RT_NOEXCEPT RT_OVERRIDE;
     476    virtual const char *typeName(void) const RT_NOEXCEPT RT_OVERRIDE;
    477477
    478478    /** Factory method. */
    479     static DECLCALLBACK(RTCRestObjectBase *) createInstance(void);
    480     /** Deserialization w/ instantiation. */
    481     static FNDESERIALIZEINSTANCEFROMJSON deserializeInstanceFromJson;
     479    static DECLCALLBACK(RTCRestObjectBase *) createInstance(void) RT_NOEXCEPT;
     480    /** @copydoc RTCRestObjectBase::FNDESERIALIZEINSTANCEFROMJSON */
     481    static DECLCALLBACK(int) deserializeInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance) RT_NOEXCEPT;
    482482
    483483public:
     
    494494public:
    495495    /** Default constructor. */
    496     RTCRestDouble();
     496    RTCRestDouble() RT_NOEXCEPT;
    497497    /** Copy constructor. */
    498     RTCRestDouble(RTCRestDouble const &a_rThat);
     498    RTCRestDouble(RTCRestDouble const &a_rThat) RT_NOEXCEPT;
    499499    /** From value constructor. */
    500     RTCRestDouble(double rdValue);
     500    RTCRestDouble(double rdValue) RT_NOEXCEPT;
    501501    /** Destructor. */
    502502    virtual ~RTCRestDouble();
    503503    /** Copy assignment operator. */
    504     RTCRestDouble &operator=(RTCRestDouble const &a_rThat);
    505     /** Safe copy assignment method. */
    506     int assignCopy(RTCRestDouble const &a_rThat);
     504    RTCRestDouble &operator=(RTCRestDouble const &a_rThat) RT_NOEXCEPT;
     505    /** Safe copy assignment method. */
     506    int assignCopy(RTCRestDouble const &a_rThat) RT_NOEXCEPT;
    507507    /** Assign value and clear null indicator. */
    508     void assignValue(double a_rdValue);
     508    void assignValue(double a_rdValue) RT_NOEXCEPT;
    509509    /** Make a clone of this object. */
    510     inline RTCRestDouble *clone() const { return (RTCRestDouble *)baseClone(); }
     510    inline RTCRestDouble *clone() const RT_NOEXCEPT { return (RTCRestDouble *)baseClone(); }
    511511
    512512    /* Overridden methods: */
    513     virtual RTCRestObjectBase *baseClone() const RT_OVERRIDE;
    514     virtual int resetToDefault() RT_OVERRIDE;
    515     virtual RTCRestOutputBase &serializeAsJson(RTCRestOutputBase &a_rDst) const RT_OVERRIDE;
    516     virtual int deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_OVERRIDE;
    517     virtual int toString(RTCString *a_pDst, uint32_t a_fFlags = 0) const RT_OVERRIDE;
     513    virtual RTCRestObjectBase *baseClone() const RT_NOEXCEPT RT_OVERRIDE;
     514    virtual int resetToDefault() RT_NOEXCEPT RT_OVERRIDE;
     515    virtual RTCRestOutputBase &serializeAsJson(RTCRestOutputBase &a_rDst) const RT_NOEXCEPT RT_OVERRIDE;
     516    virtual int deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT RT_OVERRIDE;
     517    virtual int toString(RTCString *a_pDst, uint32_t a_fFlags = 0) const RT_NOEXCEPT RT_OVERRIDE;
    518518    virtual int fromString(RTCString const &a_rValue, const char *a_pszName, PRTERRINFO a_pErrInfo = NULL,
    519                            uint32_t a_fFlags = kCollectionFormat_Unspecified) RT_OVERRIDE;
    520     virtual kTypeClass typeClass(void) const RT_OVERRIDE;
    521     virtual const char *typeName(void) const RT_OVERRIDE;
     519                           uint32_t a_fFlags = kCollectionFormat_Unspecified) RT_NOEXCEPT RT_OVERRIDE;
     520    virtual kTypeClass typeClass(void) const RT_NOEXCEPT RT_OVERRIDE;
     521    virtual const char *typeName(void) const RT_NOEXCEPT RT_OVERRIDE;
    522522
    523523    /** Factory method. */
    524     static DECLCALLBACK(RTCRestObjectBase *) createInstance(void);
    525     /** Deserialization w/ instantiation. */
    526     static FNDESERIALIZEINSTANCEFROMJSON deserializeInstanceFromJson;
     524    static DECLCALLBACK(RTCRestObjectBase *) createInstance(void) RT_NOEXCEPT;
     525    /** @copydoc RTCRestObjectBase::FNDESERIALIZEINSTANCEFROMJSON */
     526    static DECLCALLBACK(int) deserializeInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance) RT_NOEXCEPT;
    527527
    528528public:
     
    539539public:
    540540    /** Default constructor. */
    541     RTCRestString();
     541    RTCRestString() RT_NOEXCEPT;
    542542    /** Destructor. */
    543543    virtual ~RTCRestString();
     
    550550    RTCRestString(const char *a_pszSrc);
    551551    /** Safe copy assignment method. */
    552     int assignCopy(RTCRestString const &a_rThat);
    553     /** Safe copy assignment method. */
    554     int assignCopy(RTCString const &a_rThat);
    555     /** Safe copy assignment method. */
    556     int assignCopy(const char *a_pszThat);
     552    int assignCopy(RTCRestString const &a_rThat) RT_NOEXCEPT;
     553    /** Safe copy assignment method. */
     554    int assignCopy(RTCString const &a_rThat) RT_NOEXCEPT;
     555    /** Safe copy assignment method. */
     556    int assignCopy(const char *a_pszThat) RT_NOEXCEPT;
    557557    /** Make a clone of this object. */
    558     inline RTCRestString *clone() const { return (RTCRestString *)baseClone(); }
     558    inline RTCRestString *clone() const RT_NOEXCEPT { return (RTCRestString *)baseClone(); }
    559559
    560560    /* Overridden methods: */
    561     virtual RTCRestObjectBase *baseClone() const RT_OVERRIDE;
    562     virtual int setNull(void) RT_OVERRIDE; /* (ambigious, so overrider it to make sure.) */
    563     virtual int resetToDefault() RT_OVERRIDE;
    564     virtual RTCRestOutputBase &serializeAsJson(RTCRestOutputBase &a_rDst) const RT_OVERRIDE;
    565     virtual int deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_OVERRIDE;
    566     virtual int toString(RTCString *a_pDst, uint32_t a_fFlags = kCollectionFormat_Unspecified) const RT_OVERRIDE;
     561    virtual RTCRestObjectBase *baseClone() const RT_NOEXCEPT RT_OVERRIDE;
     562    virtual int setNull(void) RT_NOEXCEPT RT_OVERRIDE; /* (ambigious, so overrider it to make sure.) */
     563    virtual int resetToDefault() RT_NOEXCEPT RT_OVERRIDE;
     564    virtual RTCRestOutputBase &serializeAsJson(RTCRestOutputBase &a_rDst) const RT_NOEXCEPT RT_OVERRIDE;
     565    virtual int deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT RT_OVERRIDE;
     566    virtual int toString(RTCString *a_pDst, uint32_t a_fFlags = kCollectionFormat_Unspecified) const RT_NOEXCEPT RT_OVERRIDE;
    567567    virtual int fromString(RTCString const &a_rValue, const char *a_pszName, PRTERRINFO a_pErrInfo = NULL,
    568                            uint32_t a_fFlags = kCollectionFormat_Unspecified) RT_OVERRIDE;
    569     virtual kTypeClass typeClass(void) const RT_OVERRIDE;
    570     virtual const char *typeName(void) const RT_OVERRIDE;
     568                           uint32_t a_fFlags = kCollectionFormat_Unspecified) RT_NOEXCEPT RT_OVERRIDE;
     569    virtual kTypeClass typeClass(void) const RT_NOEXCEPT RT_OVERRIDE;
     570    virtual const char *typeName(void) const RT_NOEXCEPT RT_OVERRIDE;
    571571
    572572    /** Factory method. */
    573     static DECLCALLBACK(RTCRestObjectBase *) createInstance(void);
    574     /** Deserialization w/ instantiation. */
    575     static FNDESERIALIZEINSTANCEFROMJSON deserializeInstanceFromJson;
     573    static DECLCALLBACK(RTCRestObjectBase *) createInstance(void) RT_NOEXCEPT;
     574    /** @copydoc RTCRestObjectBase::FNDESERIALIZEINSTANCEFROMJSON */
     575    static DECLCALLBACK(int) deserializeInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance) RT_NOEXCEPT;
    576576
    577577    /** @name RTCString assignment methods we need to replace to manage the null indicator
     
    615615    /** Default constructor.
    616616     * @note The result is a null-object.   */
    617     RTCRestDate();
     617    RTCRestDate() RT_NOEXCEPT;
    618618    /** Copy constructor. */
    619619    RTCRestDate(RTCRestDate const &a_rThat);
     
    623623    RTCRestDate &operator=(RTCRestDate const &a_rThat);
    624624    /** Safe copy assignment method. */
    625     int assignCopy(RTCRestDate const &a_rThat);
     625    int assignCopy(RTCRestDate const &a_rThat) RT_NOEXCEPT;
    626626    /** Make a clone of this object. */
    627     inline RTCRestDate *clone() const { return (RTCRestDate *)baseClone(); }
     627    inline RTCRestDate *clone() const  RT_NOEXCEPT{ return (RTCRestDate *)baseClone(); }
    628628
    629629    /* Overridden methods: */
    630     virtual RTCRestObjectBase *baseClone() const RT_OVERRIDE;
    631     virtual int resetToDefault() RT_OVERRIDE;
    632     virtual RTCRestOutputBase &serializeAsJson(RTCRestOutputBase &a_rDst) const RT_OVERRIDE;
    633     virtual int deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_OVERRIDE;
    634     virtual int toString(RTCString *a_pDst, uint32_t a_fFlags = 0) const RT_OVERRIDE;
     630    virtual RTCRestObjectBase *baseClone() const RT_NOEXCEPT RT_OVERRIDE;
     631    virtual int resetToDefault() RT_NOEXCEPT RT_OVERRIDE;
     632    virtual RTCRestOutputBase &serializeAsJson(RTCRestOutputBase &a_rDst) const RT_NOEXCEPT RT_OVERRIDE;
     633    virtual int deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT RT_OVERRIDE;
     634    virtual int toString(RTCString *a_pDst, uint32_t a_fFlags = 0) const RT_NOEXCEPT RT_OVERRIDE;
    635635    virtual int fromString(RTCString const &a_rValue, const char *a_pszName, PRTERRINFO a_pErrInfo = NULL,
    636                            uint32_t a_fFlags = kCollectionFormat_Unspecified) RT_OVERRIDE;
    637     virtual kTypeClass typeClass(void) const RT_OVERRIDE;
    638     virtual const char *typeName(void) const RT_OVERRIDE;
     636                           uint32_t a_fFlags = kCollectionFormat_Unspecified) RT_NOEXCEPT RT_OVERRIDE;
     637    virtual kTypeClass typeClass(void) const RT_NOEXCEPT RT_OVERRIDE;
     638    virtual const char *typeName(void) const RT_NOEXCEPT RT_OVERRIDE;
    639639
    640640    /** Factory method. */
    641     static DECLCALLBACK(RTCRestObjectBase *) createInstance(void);
    642     /** Deserialization w/ instantiation. */
    643     static FNDESERIALIZEINSTANCEFROMJSON deserializeInstanceFromJson;
     641    static DECLCALLBACK(RTCRestObjectBase *) createInstance(void) RT_NOEXCEPT;
     642    /** @copydoc RTCRestObjectBase::FNDESERIALIZEINSTANCEFROMJSON */
     643    static DECLCALLBACK(int) deserializeInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance) RT_NOEXCEPT;
    644644
    645645    /** Date formats. */
     
    664664     * @param   a_enmFormat     The date format to use when formatting it.
    665665     */
    666     int assignValue(PCRTTIMESPEC a_pTimeSpec, kFormat a_enmFormat);
    667     int assignValueRfc2822(PCRTTIMESPEC a_pTimeSpec); /**< Convenience method for email/whatnot. */
    668     int assignValueRfc7131(PCRTTIMESPEC a_pTimeSpec); /**< Convenience method for HTTP date. */
    669     int assignValueRfc3339(PCRTTIMESPEC a_pTimeSpec); /**< Convenience method for ISO-8601 timstamp. */
     666    int assignValue(PCRTTIMESPEC a_pTimeSpec, kFormat a_enmFormat) RT_NOEXCEPT;
     667    int assignValueRfc2822(PCRTTIMESPEC a_pTimeSpec) RT_NOEXCEPT; /**< Convenience method for email/whatnot. */
     668    int assignValueRfc7131(PCRTTIMESPEC a_pTimeSpec) RT_NOEXCEPT; /**< Convenience method for HTTP date. */
     669    int assignValueRfc3339(PCRTTIMESPEC a_pTimeSpec) RT_NOEXCEPT; /**< Convenience method for ISO-8601 timstamp. */
    670670
    671671    /**
     
    676676     * @param   a_enmFormat     The date format to use when formatting it.
    677677     */
    678     int assignNow(kFormat a_enmFormat);
    679     int assignNowRfc2822(); /**< Convenience method for email/whatnot. */
    680     int assignNowRfc7131(); /**< Convenience method for HTTP date. */
    681     int assignNowRfc3339(); /**< Convenience method for ISO-8601 timstamp. */
     678    int assignNow(kFormat a_enmFormat) RT_NOEXCEPT;
     679    int assignNowRfc2822() RT_NOEXCEPT; /**< Convenience method for email/whatnot. */
     680    int assignNowRfc7131() RT_NOEXCEPT; /**< Convenience method for HTTP date. */
     681    int assignNowRfc3339() RT_NOEXCEPT; /**< Convenience method for ISO-8601 timstamp. */
    682682
    683683    /**
     
    688688     * @param   a_enmFormat     The date format to try/set.
    689689     */
    690     int setFormat(kFormat a_enmFormat);
     690    int setFormat(kFormat a_enmFormat) RT_NOEXCEPT;
    691691
    692692    /** Check if the value is okay (m_TimeSpec & m_Exploded). */
    693     inline bool              isOkay() const             { return m_fTimeSpecOkay; }
     693    inline bool              isOkay() const RT_NOEXCEPT         { return m_fTimeSpecOkay; }
    694694    /** Get the timespec value. */
    695     inline RTTIMESPEC const &getTimeSpec() const        { return m_TimeSpec; }
     695    inline RTTIMESPEC const &getTimeSpec() const RT_NOEXCEPT    { return m_TimeSpec; }
    696696    /** Get the exploded time. */
    697     inline RTTIME const     &getExploded() const        { return m_Exploded; }
     697    inline RTTIME const     &getExploded() const RT_NOEXCEPT    { return m_Exploded; }
    698698    /** Gets the format. */
    699     inline kFormat           getFormat() const          { return m_enmFormat; }
     699    inline kFormat           getFormat() const RT_NOEXCEPT      { return m_enmFormat; }
    700700    /** Get the formatted/raw string value. */
    701     inline RTCString const  &getString() const          { return m_strFormatted; }
     701    inline RTCString const  &getString() const RT_NOEXCEPT      { return m_strFormatted; }
    702702
    703703    /** Get nanoseconds since unix epoch. */
    704     inline int64_t           getEpochNano() const       { return RTTimeSpecGetNano(&m_TimeSpec); }
     704    inline int64_t           getEpochNano() const RT_NOEXCEPT   { return RTTimeSpecGetNano(&m_TimeSpec); }
    705705    /** Get seconds since unix epoch. */
    706     inline int64_t           getEpochSeconds() const   { return RTTimeSpecGetSeconds(&m_TimeSpec); }
     706    inline int64_t           getEpochSeconds() const RT_NOEXCEPT { return RTTimeSpecGetSeconds(&m_TimeSpec); }
    707707    /** Checks if UTC time. */
    708     inline bool              isUtc() const             { return (m_Exploded.fFlags & RTTIME_FLAGS_TYPE_MASK) != RTTIME_FLAGS_TYPE_LOCAL; }
     708    inline bool              isUtc() const RT_NOEXCEPT { return (m_Exploded.fFlags & RTTIME_FLAGS_TYPE_MASK) != RTTIME_FLAGS_TYPE_LOCAL; }
    709709    /** Checks if local time. */
    710     inline bool              isLocal() const           { return (m_Exploded.fFlags & RTTIME_FLAGS_TYPE_MASK) == RTTIME_FLAGS_TYPE_LOCAL; }
     710    inline bool              isLocal() const RT_NOEXCEPT { return (m_Exploded.fFlags & RTTIME_FLAGS_TYPE_MASK) == RTTIME_FLAGS_TYPE_LOCAL; }
    711711
    712712protected:
     
    732732     * @param   a_enmFormat The format to use.
    733733     */
    734     int explodeAndFormat(kFormat a_enmFormat);
     734    int explodeAndFormat(kFormat a_enmFormat) RT_NOEXCEPT;
    735735
    736736    /**
     
    742742     * @param   a_enmFormat The format to use.
    743743     */
    744     int format(kFormat a_enmFormat);
     744    int format(kFormat a_enmFormat) RT_NOEXCEPT;
    745745
    746746    /**
     
    752752     * @param   enmFormat   Specific format to try, kFormat_Invalid (default) to try guess it.
    753753     */
    754     int decodeFormattedString(kFormat enmFormat = kFormat_Invalid);
     754    int decodeFormattedString(kFormat enmFormat = kFormat_Invalid) RT_NOEXCEPT;
    755755};
    756756
     
    775775
    776776    /** Default constructor. */
    777     RTCRestStringEnumBase();
     777    RTCRestStringEnumBase() RT_NOEXCEPT;
    778778    /** Destructor. */
    779779    virtual ~RTCRestStringEnumBase();
     
    785785
    786786    /** Safe copy assignment method. */
    787     int assignCopy(RTCRestStringEnumBase const &a_rThat);
    788     /** Safe copy assignment method. */
    789     inline int assignCopy(RTCString const &a_rThat)    { return setByString(a_rThat); }
    790     /** Safe copy assignment method. */
    791     inline int assignCopy(const char *a_pszThat)       { return setByString(a_pszThat); }
     787    int assignCopy(RTCRestStringEnumBase const &a_rThat) RT_NOEXCEPT;
     788    /** Safe copy assignment method. */
     789    inline int assignCopy(RTCString const &a_rThat) RT_NOEXCEPT    { return setByString(a_rThat); }
     790    /** Safe copy assignment method. */
     791    inline int assignCopy(const char *a_pszThat) RT_NOEXCEPT       { return setByString(a_pszThat); }
    792792
    793793    /* Overridden methods: */
    794     virtual int resetToDefault() RT_OVERRIDE;
    795     virtual RTCRestOutputBase &serializeAsJson(RTCRestOutputBase &a_rDst) const RT_OVERRIDE;
    796     virtual int deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_OVERRIDE;
    797     virtual int toString(RTCString *a_pDst, uint32_t a_fFlags = kCollectionFormat_Unspecified) const RT_OVERRIDE;
     794    virtual int resetToDefault() RT_NOEXCEPT RT_OVERRIDE;
     795    virtual RTCRestOutputBase &serializeAsJson(RTCRestOutputBase &a_rDst) const RT_NOEXCEPT RT_OVERRIDE;
     796    virtual int deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT RT_OVERRIDE;
     797    virtual int toString(RTCString *a_pDst, uint32_t a_fFlags = kCollectionFormat_Unspecified) const RT_NOEXCEPT RT_OVERRIDE;
    798798    virtual int fromString(RTCString const &a_rValue, const char *a_pszName, PRTERRINFO a_pErrInfo = NULL,
    799                            uint32_t a_fFlags = kCollectionFormat_Unspecified) RT_OVERRIDE;
    800     virtual kTypeClass typeClass(void) const RT_OVERRIDE;
     799                           uint32_t a_fFlags = kCollectionFormat_Unspecified) RT_NOEXCEPT RT_OVERRIDE;
     800    virtual kTypeClass typeClass(void) const RT_NOEXCEPT RT_OVERRIDE;
    801801
    802802    /**
     
    809809     * @param   a_cchValue      The string value length.  Optional.
    810810     */
    811     int setByString(const char *a_pszValue, size_t a_cchValue = RTSTR_MAX);
     811    int setByString(const char *a_pszValue, size_t a_cchValue = RTSTR_MAX) RT_NOEXCEPT;
    812812
    813813    /**
     
    819819     * @param   a_rValue        The string value.
    820820     */
    821     int setByString(RTCString const &a_rValue);
     821    int setByString(RTCString const &a_rValue) RT_NOEXCEPT;
    822822
    823823    /**
    824824     * Gets the string value.
    825825     */
    826     const char *getString() const;
     826    const char *getString() const RT_NOEXCEPT;
    827827
    828828    /** Maps the given string value to an enum. */
    829     int stringToEnum(const char *a_pszValue, size_t a_cchValue = RTSTR_MAX);
     829    int stringToEnum(const char *a_pszValue, size_t a_cchValue = RTSTR_MAX) RT_NOEXCEPT;
    830830    /** Maps the given string value to an enum. */
    831     int stringToEnum(RTCString const &a_rStrValue);
     831    int stringToEnum(RTCString const &a_rStrValue) RT_NOEXCEPT;
    832832    /** Maps the given string value to an enum. */
    833     const char *enumToString(int a_iEnumValue, size_t *a_pcchString);
     833    const char *enumToString(int a_iEnumValue, size_t *a_pcchString) RT_NOEXCEPT;
    834834
    835835
     
    847847     * @param   a_iEnumValue    The enum value to set.
    848848     */
    849     bool                setWorker(int a_iEnumValue);
     849    bool                setWorker(int a_iEnumValue) RT_NOEXCEPT;
    850850
    851851    /** Helper for implementing RTCRestObjectBase::clone(). */
    852     RTCRestObjectBase  *cloneWorker(RTCRestStringEnumBase *a_pDst) const;
     852    RTCRestObjectBase  *cloneWorker(RTCRestStringEnumBase *a_pDst) const RT_NOEXCEPT;
    853853
    854854    /**
     
    858858     * @param   pcEntries   Where to return the translation table size.
    859859     */
    860     virtual ENUMMAPENTRY const *getMappingTable(size_t *pcEntries) const = 0;
     860    virtual ENUMMAPENTRY const *getMappingTable(size_t *pcEntries) const RT_NOEXCEPT = 0;
    861861};
    862862
     
    874874
    875875    /** Default constructor */
    876     RTCRestStringEnum() : RTCRestStringEnumBase() { }
     876    RTCRestStringEnum() RT_NOEXCEPT : RTCRestStringEnumBase() { }
    877877    /** Constructor with initial enum value. */
    878     RTCRestStringEnum(Type a_enmValue) : RTCRestStringEnumBase() { set(a_enmValue); }
     878    RTCRestStringEnum(Type a_enmValue) RT_NOEXCEPT : RTCRestStringEnumBase() { set(a_enmValue); }
    879879    /** Constructor with string default. */
    880880    RTCRestStringEnum(const char *a_pszDefault) : RTCRestStringEnumBase() { setByString(a_pszDefault); }
     
    882882    RTCRestStringEnum(RTCRestStringEnum const &a_rThat) : RTCRestStringEnumBase(a_rThat) { }
    883883    /** Make a clone of this object. */
    884     inline RTCRestStringEnum *clone() const { return (RTCRestStringEnum *)baseClone(); }
    885 
    886     virtual RTCRestObjectBase *baseClone() const RT_OVERRIDE { return cloneWorker(new (std::nothrow) RTCRestStringEnum()); }
     884    inline RTCRestStringEnum *clone() const RT_NOEXCEPT { return (RTCRestStringEnum *)baseClone(); }
     885
     886    virtual RTCRestObjectBase *baseClone() const RT_NOEXCEPT RT_OVERRIDE
     887    {
     888        return cloneWorker(new (std::nothrow) RTCRestStringEnum());
     889    }
    887890
    888891    /**
     
    892895     *          no value has been assigned yet.
    893896     */
    894     Type get() const { return (Type)m_iEnumValue; }
     897    Type get() const RT_NOEXCEPT { return (Type)m_iEnumValue; }
    895898
    896899    /**
     
    900903     * @param   a_enmType   The new value.
    901904     */
    902     bool set(Type a_enmType) { return setWorker((int)a_enmType); }
    903 
    904     virtual const char *typeName(void) const RT_OVERRIDE { return "RTCRestStringEnum<EnumType>"; }
     905    bool set(Type a_enmType) RT_NOEXCEPT { return setWorker((int)a_enmType); }
     906
     907    virtual const char *typeName(void) const RT_NOEXCEPT RT_OVERRIDE { return "RTCRestStringEnum<EnumType>"; }
    905908
    906909    /** Factory method. */
    907     static DECLCALLBACK(RTCRestObjectBase *) createInstance(void)
     910    static DECLCALLBACK(RTCRestObjectBase *) createInstance(void) RT_NOEXCEPT
    908911    {
    909912        return new (std::nothrow) RTCRestStringEnum();
     
    911914
    912915    /** @copydoc RTCRestObjectBase::FNDESERIALIZEINSTANCEFROMJSON */
    913     static DECLCALLBACK(int) deserializeInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance)
     916    static DECLCALLBACK(int) deserializeInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance) RT_NOEXCEPT
    914917    {
    915918        *a_ppInstance = new (std::nothrow) RTCRestStringEnum();
     
    925928    static const size_t       s_cMappingTable;
    926929
    927     virtual ENUMMAPENTRY const *getMappingTable(size_t *pcEntries) const RT_OVERRIDE
     930    virtual ENUMMAPENTRY const *getMappingTable(size_t *pcEntries) const RT_NOEXCEPT RT_OVERRIDE
    928931    {
    929932        *pcEntries = s_cMappingTable;
     
    943946public:
    944947    /** Default constructor. */
    945     RTCRestBinary();
     948    RTCRestBinary() RT_NOEXCEPT;
    946949    /** Destructor. */
    947950    virtual ~RTCRestBinary();
    948951
    949952    /** Safe copy assignment method. */
    950     virtual int assignCopy(RTCRestBinary const &a_rThat);
     953    virtual int assignCopy(RTCRestBinary const &a_rThat) RT_NOEXCEPT;
    951954    /** Safe buffer copy method. */
    952     virtual int assignCopy(void const *a_pvData, size_t a_cbData);
     955    virtual int assignCopy(void const *a_pvData, size_t a_cbData) RT_NOEXCEPT;
    953956
    954957    /** Use the specified data buffer directly. */
    955     virtual int assignReadOnly(void const *a_pvData, size_t a_cbData);
     958    virtual int assignReadOnly(void const *a_pvData, size_t a_cbData) RT_NOEXCEPT;
    956959    /** Use the specified data buffer directly. */
    957     virtual int assignWriteable(void *a_pvBuf, size_t a_cbBuf);
     960    virtual int assignWriteable(void *a_pvBuf, size_t a_cbBuf) RT_NOEXCEPT;
    958961    /** Frees the data held by the object and resets it default state. */
    959     virtual void freeData();
     962    virtual void freeData() RT_NOEXCEPT;
    960963
    961964    /** Returns a pointer to the data blob. */
    962     inline const uint8_t  *getPtr()  const { return m_pbData; }
     965    inline const uint8_t  *getPtr()  const RT_NOEXCEPT { return m_pbData; }
    963966    /** Gets the size of the data. */
    964     inline size_t          getSize() const { return m_cbData; }
     967    inline size_t          getSize() const RT_NOEXCEPT { return m_cbData; }
    965968
    966969    /** Make a clone of this object. */
    967     inline RTCRestBinary  *clone() const { return (RTCRestBinary *)baseClone(); }
     970    inline RTCRestBinary  *clone() const RT_NOEXCEPT { return (RTCRestBinary *)baseClone(); }
    968971
    969972    /* Overridden methods: */
    970     virtual RTCRestObjectBase *baseClone() const RT_OVERRIDE;
    971     virtual int setNull(void) RT_OVERRIDE;
    972     virtual int resetToDefault(void) RT_OVERRIDE;
    973     virtual RTCRestOutputBase &serializeAsJson(RTCRestOutputBase &a_rDst) const RT_OVERRIDE;
    974     virtual int deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_OVERRIDE;
    975     virtual int toString(RTCString *a_pDst, uint32_t a_fFlags = kCollectionFormat_Unspecified) const RT_OVERRIDE;
     973    virtual RTCRestObjectBase *baseClone() const RT_NOEXCEPT RT_OVERRIDE;
     974    virtual int setNull(void) RT_NOEXCEPT RT_OVERRIDE;
     975    virtual int resetToDefault(void) RT_NOEXCEPT RT_OVERRIDE;
     976    virtual RTCRestOutputBase &serializeAsJson(RTCRestOutputBase &a_rDst) const RT_NOEXCEPT RT_OVERRIDE;
     977    virtual int deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT RT_OVERRIDE;
     978    virtual int toString(RTCString *a_pDst, uint32_t a_fFlags = kCollectionFormat_Unspecified) const RT_NOEXCEPT RT_OVERRIDE;
    976979    virtual int fromString(RTCString const &a_rValue, const char *a_pszName, PRTERRINFO a_pErrInfo = NULL,
    977                            uint32_t a_fFlags = kCollectionFormat_Unspecified) RT_OVERRIDE;
    978     virtual kTypeClass typeClass(void) const RT_OVERRIDE;
    979     virtual const char *typeName(void) const RT_OVERRIDE;
     980                           uint32_t a_fFlags = kCollectionFormat_Unspecified) RT_NOEXCEPT RT_OVERRIDE;
     981    virtual kTypeClass typeClass(void) const RT_NOEXCEPT RT_OVERRIDE;
     982    virtual const char *typeName(void) const RT_NOEXCEPT RT_OVERRIDE;
    980983
    981984    /** Factory method. */
    982     static DECLCALLBACK(RTCRestObjectBase *) createInstance(void);
    983     /** Deserialization w/ instantiation. */
    984     static FNDESERIALIZEINSTANCEFROMJSON deserializeInstanceFromJson;
     985    static DECLCALLBACK(RTCRestObjectBase *) createInstance(void) RT_NOEXCEPT;
     986    /** @copydoc RTCRestObjectBase::FNDESERIALIZEINSTANCEFROMJSON */
     987    static DECLCALLBACK(int) deserializeInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance) RT_NOEXCEPT;
    985988
    986989protected:
     
    10091012{
    10101013public:
    1011     RTCRestDataObject();
    1012     RTCRestDataObject(RTCRestDataObject const &a_rThat);
     1014    RTCRestDataObject() RT_NOEXCEPT;
     1015    RTCRestDataObject(RTCRestDataObject const &a_rThat) RT_NOEXCEPT;
    10131016    virtual ~RTCRestDataObject();
    10141017
    10151018    /* Overridden methods:*/
    1016     virtual int resetToDefault() RT_OVERRIDE;
    1017     virtual RTCRestOutputBase &serializeAsJson(RTCRestOutputBase &a_rDst) const RT_OVERRIDE;
    1018     virtual int deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_OVERRIDE;
    1019     virtual kTypeClass typeClass(void) const RT_OVERRIDE;
     1019    virtual int resetToDefault() RT_NOEXCEPT RT_OVERRIDE;
     1020    virtual RTCRestOutputBase &serializeAsJson(RTCRestOutputBase &a_rDst) const RT_NOEXCEPT RT_OVERRIDE;
     1021    virtual int deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT RT_OVERRIDE;
     1022    virtual kTypeClass typeClass(void) const RT_NOEXCEPT RT_OVERRIDE;
    10201023
    10211024    /**
     
    10251028     * @param   a_rDst      The destination for the serialization.
    10261029     */
    1027     virtual RTCRestOutputBase &serializeMembersAsJson(RTCRestOutputBase &a_rDst) const;
     1030    virtual RTCRestOutputBase &serializeMembersAsJson(RTCRestOutputBase &a_rDst) const RT_NOEXCEPT;
    10281031
    10291032    /**
     
    10371040     * @param   a_cchName   The length of a_rCursor.m_pszName.
    10381041     */
    1039     virtual int deserializeMemberFromJson(RTCRestJsonCursor const &a_rCursor, size_t a_cchName);
     1042    virtual int deserializeMemberFromJson(RTCRestJsonCursor const &a_rCursor, size_t a_cchName) RT_NOEXCEPT;
    10401043
    10411044protected:
     
    10441047
    10451048    /** Copy assignment operator. */
    1046     RTCRestDataObject &operator=(RTCRestDataObject const &a_rThat);
    1047 
    1048     /** Safe copy assignment method. */
    1049     virtual int assignCopy(RTCRestDataObject const &a_rThat);
     1049    RTCRestDataObject &operator=(RTCRestDataObject const &a_rThat) RT_NOEXCEPT;
     1050
     1051    /** Safe copy assignment method. */
     1052    virtual int assignCopy(RTCRestDataObject const &a_rThat) RT_NOEXCEPT;
    10501053};
    10511054
     
    10571060{
    10581061public:
    1059     RTCRestPolyDataObject();
    1060     RTCRestPolyDataObject(RTCRestPolyDataObject const &a_rThat);
     1062    RTCRestPolyDataObject() RT_NOEXCEPT;
     1063    RTCRestPolyDataObject(RTCRestPolyDataObject const &a_rThat) RT_NOEXCEPT;
    10611064    virtual ~RTCRestPolyDataObject();
    10621065
    10631066    /* Overridden methods:*/
    1064     virtual int resetToDefault() RT_OVERRIDE;
     1067    virtual int resetToDefault() RT_NOEXCEPT RT_OVERRIDE;
    10651068
    10661069    /** Checks if the instance is of a child class (@c true) or of the parent (@c false). */
    1067     virtual bool isChild() const;
     1070    virtual bool isChild() const RT_NOEXCEPT;
    10681071
    10691072protected:
    10701073
    10711074    /** Copy assignment operator. */
    1072     RTCRestPolyDataObject &operator=(RTCRestPolyDataObject const &a_rThat);
     1075    RTCRestPolyDataObject &operator=(RTCRestPolyDataObject const &a_rThat) RT_NOEXCEPT;
    10731076};
    10741077
  • trunk/include/iprt/cpp/restclient.h

    r74414 r74425  
    4646public:
    4747    /** Default constructor. */
    48     RTCRestBinaryParameter();
     48    RTCRestBinaryParameter() RT_NOEXCEPT;
    4949
    5050    /** Safe copy assignment method. */
    51     virtual int assignCopy(RTCRestBinaryParameter const &a_rThat);
     51    virtual int assignCopy(RTCRestBinaryParameter const &a_rThat) RT_NOEXCEPT;
    5252    /** Safe copy assignment method.
    5353      * @note Resets callbacks and ASSUMES that @a a_cbData is the content length. */
    54     virtual int assignCopy(RTCRestBinary const &a_rThat) RT_OVERRIDE;
     54    virtual int assignCopy(RTCRestBinary const &a_rThat) RT_NOEXCEPT RT_OVERRIDE;
    5555    /** Safe copy assignment method.
    5656     * @note Resets callbacks and ASSUMES that @a a_cbData is the content length. */
    57     virtual int assignCopy(void const *a_pvData, size_t a_cbData) RT_OVERRIDE;
     57    virtual int assignCopy(void const *a_pvData, size_t a_cbData) RT_NOEXCEPT RT_OVERRIDE;
    5858
    5959    /**
    6060     * Use the specified data buffer directly.
    6161     * @note Resets callbacks and ASSUMES that @a a_cbData is the content length. */
    62     virtual int assignReadOnly(void const *a_pvData, size_t a_cbData) RT_OVERRIDE;
     62    virtual int assignReadOnly(void const *a_pvData, size_t a_cbData) RT_NOEXCEPT RT_OVERRIDE;
    6363    /**
    6464     * Use the specified data buffer directly.
    6565     * @note This will assert and work like assignReadOnly. */
    66     virtual int assignWriteable(void *a_pvBuf, size_t a_cbBuf) RT_OVERRIDE;
     66    virtual int assignWriteable(void *a_pvBuf, size_t a_cbBuf) RT_NOEXCEPT RT_OVERRIDE;
    6767
    6868    /** Make a clone of this object. */
    69     inline RTCRestBinaryParameter *clone() const { return (RTCRestBinaryParameter *)baseClone(); }
     69    inline RTCRestBinaryParameter *clone() const RT_NOEXCEPT { return (RTCRestBinaryParameter *)baseClone(); }
    7070
    7171    /* Overridden methods: */
    72     virtual RTCRestObjectBase *baseClone() const RT_OVERRIDE;
    73     virtual int resetToDefault() RT_OVERRIDE;
    74     virtual const char *typeName(void) const RT_OVERRIDE;
     72    virtual RTCRestObjectBase *baseClone() const RT_NOEXCEPT RT_OVERRIDE;
     73    virtual int resetToDefault() RT_NOEXCEPT RT_OVERRIDE;
     74    virtual const char *typeName(void) const RT_NOEXCEPT RT_OVERRIDE;
    7575
    7676    /** Factory method. */
    77     static DECLCALLBACK(RTCRestObjectBase *) createInstance(void);
     77    static DECLCALLBACK(RTCRestObjectBase *) createInstance(void) RT_NOEXCEPT;
    7878
    7979    /**
    8080     * Retrieves the callback data.
    8181     */
    82     inline void *getCallbackData() const { return m_pvCallbackData; }
     82    inline void *getCallbackData() const RT_NOEXCEPT { return m_pvCallbackData; }
    8383
    8484    /**
     
    8989     *                              If NULL, no content type is set.
    9090     */
    91     int setContentType(const char *a_pszContentType);
     91    int setContentType(const char *a_pszContentType) RT_NOEXCEPT;
    9292
    9393    /**
    9494     * Gets the content type that was set.
    9595     */
    96     inline RTCString const &getContentType() const { return m_strContentType; }
     96    inline RTCString const &getContentType() const RT_NOEXCEPT { return m_strContentType; }
    9797
    9898    /**
    9999     * Gets the content-length value (UINT64_MAX if not available).
    100100     */
    101     inline uint64_t getContentLength() const { return m_cbContentLength; }
     101    inline uint64_t getContentLength() const RT_NOEXCEPT { return m_cbContentLength; }
    102102
    103103    /**
     
    118118     */
    119119    typedef DECLCALLBACK(int) FNPRODUCER(RTCRestBinaryParameter *a_pThis, void *a_pvDst, size_t a_cbDst,
    120                                          uint64_t a_offContent, size_t *a_pcbActual);
     120                                         uint64_t a_offContent, size_t *a_pcbActual) /*RT_NOEXCEPT*/;
    121121    /** Pointer to a byte producer callback. */
    122122    typedef FNPRODUCER *PFNPRODUCER;
     
    134134     * @note    This will drop any buffer previously registered using setUploadData().
    135135     */
    136     void setProducerCallback(PFNPRODUCER a_pfnProducer, void *a_pvCallbackData = NULL, uint64_t a_cbContentLength = UINT64_MAX);
     136    void setProducerCallback(PFNPRODUCER a_pfnProducer, void *a_pvCallbackData = NULL, uint64_t a_cbContentLength = UINT64_MAX) RT_NOEXCEPT;
    137137
    138138    /**
     
    143143     * @internal
    144144     */
    145     virtual int xmitPrepare(RTHTTP a_hHttp) const;
     145    virtual int xmitPrepare(RTHTTP a_hHttp) const RT_NOEXCEPT;
    146146
    147147    /**
     
    151151     * @internal
    152152     */
    153     virtual void xmitComplete(RTHTTP a_hHttp) const;
     153    virtual void xmitComplete(RTHTTP a_hHttp) const RT_NOEXCEPT;
    154154
    155155protected:
     
    164164    void       *m_pvCallbackData;
    165165
    166     /** Callback for use with RTHttpSetUploadCallback. */
    167     static FNRTHTTPUPLOADCALLBACK   xmitHttpCallback;
     166    /** @copydoc FNRTHTTPUPLOADCALLBACK */
     167    static DECLCALLBACK(int) xmitHttpCallback(RTHTTP hHttp, void *pvBuf, size_t cbBuf, uint64_t offContent,
     168                                              size_t *pcbActual, void *pvUser) RT_NOEXCEPT;
    168169
    169170private:
     
    183184public:
    184185    /** Default constructor. */
    185     RTCRestBinaryResponse();
     186    RTCRestBinaryResponse() RT_NOEXCEPT;
    186187
    187188    /** Safe copy assignment method. */
    188     virtual int assignCopy(RTCRestBinaryResponse const &a_rThat);
     189    virtual int assignCopy(RTCRestBinaryResponse const &a_rThat) RT_NOEXCEPT;
    189190    /** Safe copy assignment method. */
    190     virtual int assignCopy(RTCRestBinary const &a_rThat) RT_OVERRIDE;
     191    virtual int assignCopy(RTCRestBinary const &a_rThat) RT_NOEXCEPT RT_OVERRIDE;
    191192    /** Safe copy assignment method.
    192193     * @note This will assert and fail as it makes no sense for a download.  */
    193     virtual int assignCopy(void const *a_pvData, size_t a_cbData) RT_OVERRIDE;
     194    virtual int assignCopy(void const *a_pvData, size_t a_cbData) RT_NOEXCEPT RT_OVERRIDE;
    194195
    195196    /**
     
    197198     * @note This will assert and fail as it makes no sense for a download.
    198199     */
    199     virtual int assignReadOnly(void const *a_pvData, size_t a_cbData) RT_OVERRIDE;
     200    virtual int assignReadOnly(void const *a_pvData, size_t a_cbData) RT_NOEXCEPT RT_OVERRIDE;
    200201    /**
    201202     * Use the specified data buffer directly.
    202203     * @note This will drop any previously registered producer callback and user data.
    203204     */
    204     virtual int assignWriteable(void *a_pvBuf, size_t a_cbBuf) RT_OVERRIDE;
     205    virtual int assignWriteable(void *a_pvBuf, size_t a_cbBuf) RT_NOEXCEPT RT_OVERRIDE;
    205206
    206207    /** Make a clone of this object. */
    207     inline RTCRestBinaryResponse *clone() const { return (RTCRestBinaryResponse *)baseClone(); }
     208    inline RTCRestBinaryResponse *clone() const RT_NOEXCEPT { return (RTCRestBinaryResponse *)baseClone(); }
    208209
    209210    /* Overridden methods: */
    210     virtual RTCRestObjectBase *baseClone() const RT_OVERRIDE;
    211     virtual int resetToDefault() RT_OVERRIDE;
    212     virtual const char *typeName(void) const RT_OVERRIDE;
     211    virtual RTCRestObjectBase *baseClone() const RT_NOEXCEPT RT_OVERRIDE;
     212    virtual int resetToDefault() RT_NOEXCEPT RT_OVERRIDE;
     213    virtual const char *typeName(void) const RT_NOEXCEPT RT_OVERRIDE;
    213214
    214215    /** Factory method. */
    215     static DECLCALLBACK(RTCRestObjectBase *) createInstance(void);
     216    static DECLCALLBACK(RTCRestObjectBase *) createInstance(void) RT_NOEXCEPT;
    216217
    217218    /**
    218219     * Retrieves the callback data.
    219220     */
    220     inline void *getCallbackData() const { return m_pvCallbackData; }
     221    inline void *getCallbackData() const RT_NOEXCEPT { return m_pvCallbackData; }
    221222
    222223    /**
     
    230231     *                          32-bit hosts and 128MiB for 64-bit).
    231232     */
    232     void setMaxDownloadSize(size_t a_cbMaxDownload);
     233    void setMaxDownloadSize(size_t a_cbMaxDownload) RT_NOEXCEPT;
    233234
    234235    /**
    235236     * Gets the content-length value (UINT64_MAX if not available).
    236237     */
    237     inline uint64_t getContentLength() const { return m_cbContentLength; }
     238    inline uint64_t getContentLength() const RT_NOEXCEPT { return m_cbContentLength; }
    238239
    239240    /**
     
    255256     */
    256257    typedef DECLCALLBACK(int) FNCONSUMER(RTCRestBinaryResponse *a_pThis, const void *a_pvSrc, size_t a_cbSrc,
    257                                          uint32_t a_uHttpStatus, uint64_t a_offContent, uint64_t a_cbContent);
     258                                         uint32_t a_uHttpStatus, uint64_t a_offContent, uint64_t a_cbContent) /*RT_NOEXCEPT*/;
    258259    /** Pointer to a byte consumer callback. */
    259260    typedef FNCONSUMER *PFNCONSUMER;
     
    267268     *                              using getCallbackData().
    268269     */
    269     void setConsumerCallback(PFNCONSUMER a_pfnConsumer, void *a_pvCallbackData = NULL);
     270    void setConsumerCallback(PFNCONSUMER a_pfnConsumer, void *a_pvCallbackData = NULL) RT_NOEXCEPT;
    270271
    271272    /**
     
    277278     * @internal
    278279     */
    279     virtual int receivePrepare(RTHTTP a_hHttp, uint32_t a_fCallbackFlags);
     280    virtual int receivePrepare(RTHTTP a_hHttp, uint32_t a_fCallbackFlags) RT_NOEXCEPT;
    280281
    281282    /**
     
    285286     * @internal
    286287     */
    287     virtual void receiveComplete(RTHTTP a_hHttp);
     288    virtual void receiveComplete(RTHTTP a_hHttp) RT_NOEXCEPT;
    288289
    289290protected:
     
    300301    size_t      m_cbMaxDownload;
    301302
    302     /** Callback for use with RTHttpSetDownloadCallback. */
    303     static FNRTHTTPDOWNLOADCALLBACK receiveHttpCallback;
     303    /** @copydoc FNRTHTTPDOWNLOADCALLBACK. */
     304    static DECLCALLBACK(int) receiveHttpCallback(RTHTTP hHttp, void const *pvBuf, size_t cbBuf, uint32_t uHttpStatus,
     305                                                 uint64_t offContent, uint64_t cbContent, void *pvUser) RT_NOEXCEPT;
    304306
    305307private:
     
    331333{
    332334public:
    333     RTCRestClientRequestBase();
     335    RTCRestClientRequestBase() RT_NOEXCEPT;
    334336    virtual ~RTCRestClientRequestBase();
    335     RTCRestClientRequestBase(RTCRestClientRequestBase const &a_rThat);
    336     RTCRestClientRequestBase &operator=(RTCRestClientRequestBase const &a_rThat);
     337    RTCRestClientRequestBase(RTCRestClientRequestBase const &a_rThat) RT_NOEXCEPT;
     338    RTCRestClientRequestBase &operator=(RTCRestClientRequestBase const &a_rThat) RT_NOEXCEPT;
    337339
    338340    /**
     
    340342     * @returns IPRT status code.
    341343     */
    342     virtual int resetToDefault() = 0;
     344    virtual int resetToDefault() RT_NOEXCEPT = 0;
    343345
    344346    /**
     
    351353     * @param   a_pStrBody  Where to set body parameters.
    352354     */
    353     virtual int xmitPrepare(RTCString *a_pStrPath, RTCString *a_pStrQuery, RTHTTP a_hHttp, RTCString *a_pStrBody) const = 0;
     355    virtual int xmitPrepare(RTCString *a_pStrPath, RTCString *a_pStrQuery, RTHTTP a_hHttp, RTCString *a_pStrBody) const RT_NOEXCEPT = 0;
    354356
    355357    /**
     
    359361     * @param   a_hHttp     The HTTP handle the request was performed on.
    360362     */
    361     virtual void xmitComplete(int a_rcStatus, RTHTTP a_hHttp) const = 0;
     363    virtual void xmitComplete(int a_rcStatus, RTHTTP a_hHttp) const RT_NOEXCEPT = 0;
    362364
    363365    /**
    364366     * Checks if there are were any assignment errors.
    365367     */
    366     inline bool hasAssignmentErrors() const { return m_fErrorSet != 0; }
     368    inline bool hasAssignmentErrors() const RT_NOEXCEPT { return m_fErrorSet != 0; }
    367369
    368370protected:
     
    400402     */
    401403    int doPathParameters(RTCString *a_pStrPath, const char *a_pszPathTemplate, size_t a_cchPathTemplate,
    402                          PATHPARAMDESC const *a_paPathParams, PATHPARAMSTATE *a_paPathParamStates, size_t a_cPathParams) const;
     404                         PATHPARAMDESC const *a_paPathParams, PATHPARAMSTATE *a_paPathParamStates, size_t a_cPathParams) const RT_NOEXCEPT;
    403405
    404406    /** Query parameter descriptor. */
     
    421423     */
    422424    int doQueryParameters(RTCString *a_pStrQuery, QUERYPARAMDESC const *a_paQueryParams,
    423                           RTCRestObjectBase const **a_papQueryParamObjs, size_t a_cQueryParams) const;
     425                          RTCRestObjectBase const **a_papQueryParamObjs, size_t a_cQueryParams) const RT_NOEXCEPT;
    424426
    425427    /** Header parameter descriptor. */
     
    443445     */
    444446    int doHeaderParameters(RTHTTP a_hHttp, HEADERPARAMDESC const *a_paHeaderParams,
    445                            RTCRestObjectBase const **a_papHeaderParamObjs, size_t a_cHeaderParams) const;
     447                           RTCRestObjectBase const **a_papHeaderParamObjs, size_t a_cHeaderParams) const RT_NOEXCEPT;
    446448};
    447449
     
    454456public:
    455457    /** Default constructor. */
    456     RTCRestClientResponseBase();
     458    RTCRestClientResponseBase() RT_NOEXCEPT;
    457459    /** Destructor. */
    458460    virtual ~RTCRestClientResponseBase();
     
    465467     * Resets the object state.
    466468     */
    467     virtual void reset(void);
     469    virtual void reset(void) RT_NOEXCEPT;
    468470
    469471    /**
     
    477479     * @param   a_hHttp     The HTTP handle to prepare for receiving.
    478480     */
    479     virtual int receivePrepare(RTHTTP a_hHttp);
     481    virtual int receivePrepare(RTHTTP a_hHttp) RT_NOEXCEPT;
    480482
    481483    /**
     
    489491     * @note    Called before consumeBody() but after consumeHeader().
    490492     */
    491     virtual void receiveComplete(int a_rcStatus, RTHTTP a_hHttp);
     493    virtual void receiveComplete(int a_rcStatus, RTHTTP a_hHttp) RT_NOEXCEPT;
    492494
    493495    /**
     
    499501     * @note    Called after consumeHeader().
    500502     */
    501     virtual void consumeBody(const char *a_pchData, size_t a_cbData);
     503    virtual void consumeBody(const char *a_pchData, size_t a_cbData) RT_NOEXCEPT;
    502504
    503505    /**
     
    506508     * @returns IPRT status code.
    507509     */
    508     virtual void receiveFinal();
     510    virtual void receiveFinal() RT_NOEXCEPT;
    509511
    510512    /**
     
    512514     * @returns Negative numbers are IPRT errors, positive are HTTP status codes.
    513515     */
    514     inline int getStatus() { return m_rcStatus; }
     516    inline int getStatus() const RT_NOEXCEPT { return m_rcStatus; }
    515517
    516518    /**
     
    518520     * @returns HTTP status code or VERR_NOT_AVAILABLE.
    519521     */
    520     inline int getHttpStatus() { return m_rcHttp; }
     522    inline int getHttpStatus() const RT_NOEXCEPT { return m_rcHttp; }
    521523
    522524    /**
    523525     * Getter for m_pErrInfo.
    524526     */
    525     inline PCRTERRINFO getErrInfo(void) const { return m_pErrInfo; }
     527    inline PCRTERRINFO getErrInfo(void) const RT_NOEXCEPT { return m_pErrInfo; }
    526528
    527529    /**
    528530     * Getter for m_strContentType.
    529531     */
    530     inline RTCString const &getContentType(void) const { return m_strContentType; }
     532    inline RTCString const &getContentType(void) const RT_NOEXCEPT { return m_strContentType; }
    531533
    532534
     
    541543    RTCString   m_strContentType;
    542544
    543     PRTERRINFO  getErrInfoInternal(void);
    544     void        deleteErrInfo(void);
    545     void        copyErrInfo(PCRTERRINFO pErrInfo);
     545    PRTERRINFO  getErrInfoInternal(void) RT_NOEXCEPT;
     546    void        deleteErrInfo(void) RT_NOEXCEPT;
     547    void        copyErrInfo(PCRTERRINFO pErrInfo) RT_NOEXCEPT;
    546548
    547549    /**
     
    556558     * @param   ...         Message arguments.
    557559     */
    558     int addError(int a_rc, const char *a_pszFormat, ...);
     560    int addError(int a_rc, const char *a_pszFormat, ...) RT_NOEXCEPT;
    559561
    560562    /**
     
    570572     */
    571573    int deserializeHeader(RTCRestObjectBase *a_pObj, const char *a_pchValue, size_t a_cchValue,
    572                           uint32_t a_fFlags, const char *a_pszErrorTag);
     574                          uint32_t a_fFlags, const char *a_pszErrorTag) RT_NOEXCEPT;
    573575
    574576    /**
     
    587589     */
    588590    int deserializeHeaderIntoMap(RTCRestStringMapBase *a_pMap, const char *a_pchField, size_t a_cchField,
    589                                  const char *a_pchValue, size_t a_cchValue, uint32_t a_fFlags, const char *a_pszErrorTag);
     591                                 const char *a_pchValue, size_t a_cchValue, uint32_t a_fFlags, const char *a_pszErrorTag) RT_NOEXCEPT;
    590592
    591593    /**
     
    597599     * @param   a_pszBodyName   The name of the body parameter.
    598600     */
    599     void deserializeBody(const char *a_pchData, size_t a_cbData, const char *a_pszBodyName);
     601    void deserializeBody(const char *a_pchData, size_t a_cbData, const char *a_pszBodyName) RT_NOEXCEPT;
    600602
    601603    /**
     
    604606     * @param   a_rCursor       The JSON cursor.
    605607     */
    606     virtual void deserializeBodyFromJsonCursor(RTCRestJsonCursor const &a_rCursor);
     608    virtual void deserializeBodyFromJsonCursor(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT;
    607609
    608610    /**
     
    613615    public:
    614616        RTCRestClientResponseBase *m_pThat; /**< Pointer to response object. */
    615         PrimaryJsonCursorForBody(RTJSONVAL hValue, const char *pszName, RTCRestClientResponseBase *a_pThat);
    616         virtual int addError(RTCRestJsonCursor const &a_rCursor, int a_rc, const char *a_pszFormat, ...) RT_OVERRIDE;
    617         virtual int unknownField(RTCRestJsonCursor const &a_rCursor) RT_OVERRIDE;
     617        PrimaryJsonCursorForBody(RTJSONVAL hValue, const char *pszName, RTCRestClientResponseBase *a_pThat) RT_NOEXCEPT;
     618        virtual int addError(RTCRestJsonCursor const &a_rCursor, int a_rc, const char *a_pszFormat, ...) RT_NOEXCEPT RT_OVERRIDE;
     619        virtual int unknownField(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT RT_OVERRIDE;
    618620    };
    619621
     
    634636     */
    635637    virtual int consumeHeader(uint32_t a_uMatchWord, const char *a_pchField, size_t a_cchField,
    636                               const char *a_pchValue, size_t a_cchValue);
     638                              const char *a_pchValue, size_t a_cchValue) RT_NOEXCEPT;
    637639
    638640private:
    639641    /** Callback for use with RTHttpSetHeaderCallback. */
    640     static FNRTHTTPHEADERCALLBACK receiveHttpHeaderCallback;
     642    static DECLCALLBACK(int) receiveHttpHeaderCallback(RTHTTP hHttp, uint32_t uMatchWord, const char *pchField, size_t cchField,
     643                                                       const char *pchValue, size_t cchValue, void *pvUser) RT_NOEXCEPT;
    641644};
    642645
     
    648651{
    649652public:
    650     RTCRestClientApiBase();
     653    RTCRestClientApiBase() RT_NOEXCEPT;
    651654    virtual ~RTCRestClientApiBase();
    652655
     
    656659     * Gets the server URL.
    657660     */
    658     const char *getServerUrl(void) const;
     661    const char *getServerUrl(void) const RT_NOEXCEPT;
    659662
    660663    /**
     
    663666     * @param   a_pszUrl        The new server URL.  NULL/empty to reset to default.
    664667     */
    665     int setServerUrl(const char *a_pszUrl);
     668    int setServerUrl(const char *a_pszUrl) RT_NOEXCEPT;
    666669
    667670    /**
     
    670673     * @param   a_pszScheme     The new scheme.  Does not accept NULL or empty string.
    671674     */
    672     int setServerScheme(const char *a_pszScheme);
     675    int setServerScheme(const char *a_pszScheme) RT_NOEXCEPT;
    673676
    674677    /**
     
    677680     * @param   a_pszAuthority  The new authority.  Does not accept NULL or empty string.
    678681     */
    679     int setServerAuthority(const char *a_pszAuthority);
     682    int setServerAuthority(const char *a_pszAuthority) RT_NOEXCEPT;
    680683
    681684    /**
     
    684687     * @param   a_pszBasePath   The new base path.  Does not accept NULL or empty string.
    685688     */
    686     int setServerBasePath(const char *a_pszBasePath);
     689    int setServerBasePath(const char *a_pszBasePath) RT_NOEXCEPT;
    687690
    688691    /**
     
    690693     * @returns Server URL.
    691694     */
    692     virtual const char *getDefaultServerUrl() const = 0;
     695    virtual const char *getDefaultServerUrl() const RT_NOEXCEPT = 0;
    693696
    694697    /**
     
    696699     * @returns Host string (start of URL).
    697700     */
    698     virtual const char *getDefaultServerBasePath() const = 0;
     701    virtual const char *getDefaultServerBasePath() const RT_NOEXCEPT = 0;
    699702    /** @} */
    700703
     
    720723     * @returns IPRT status code.
    721724     */
    722     virtual int reinitHttpInstance();
     725    virtual int reinitHttpInstance() RT_NOEXCEPT;
    723726
    724727    /**
     
    735738     */
    736739    virtual int xmitReady(RTHTTP a_hHttp, RTCString const &a_rStrFullUrl, RTHTTPMETHOD a_enmHttpMethod,
    737                           RTCString const &a_rStrXmitBody, uint32_t a_fFlags);
     740                          RTCString const &a_rStrXmitBody, uint32_t a_fFlags) RT_NOEXCEPT;
    738741
    739742    /**
     
    748751     */
    749752    virtual int doCall(RTCRestClientRequestBase const &a_rRequest, RTHTTPMETHOD a_enmHttpMethod,
    750                        RTCRestClientResponseBase *a_pResponse, const char *a_pszMethod, uint32_t a_fFlags);
     753                       RTCRestClientResponseBase *a_pResponse, const char *a_pszMethod, uint32_t a_fFlags) RT_NOEXCEPT;
    751754
    752755    /**
     
    766769     */
    767770    int ociSignRequest(RTHTTP a_hHttp, RTCString const &a_rStrFullUrl, RTHTTPMETHOD a_enmHttpMethod,
    768                        RTCString const &a_rStrXmitBody, uint32_t a_fFlags, RTCRKEY a_hKey, RTCString const &a_rStrKeyId);
     771                       RTCString const &a_rStrXmitBody, uint32_t a_fFlags, RTCRKEY a_hKey, RTCString const &a_rStrKeyId) RT_NOEXCEPT;
    769772
    770773    /**
     
    778781     * @param   a_cchSrc        The length of the new component.
    779782     */
    780     int setServerUrlPart(const char *a_pszServerUrl, size_t a_offDst, size_t a_cchDst, const char *a_pszSrc, size_t a_cchSrc);
     783    int setServerUrlPart(const char *a_pszServerUrl, size_t a_offDst, size_t a_cchDst, const char *a_pszSrc, size_t a_cchSrc) RT_NOEXCEPT;
    781784};
    782785
  • trunk/include/iprt/cpp/restoutput.h

    r74415 r74425  
    4545{
    4646public:
    47     RTCRestOutputBase();
     47    RTCRestOutputBase() RT_NOEXCEPT;
    4848    virtual ~RTCRestOutputBase();
    4949
     
    5555     * @param   a_cchToWrite    The length of the string
    5656     */
    57     virtual size_t output(const char *a_pchString, size_t a_cchToWrite) = 0;
     57    virtual size_t output(const char *a_pchString, size_t a_cchToWrite) RT_NOEXCEPT = 0;
    5858
    5959    /**
     
    6464     * @param   ...         Argument specfied in @a pszFormat.
    6565     */
    66     inline size_t printf(const char *pszFormat, ...) RT_IPRT_FORMAT_ATTR(2, 3)
     66    inline size_t printf(const char *pszFormat, ...) RT_NOEXCEPT RT_IPRT_FORMAT_ATTR(2, 3)
    6767    {
    6868        va_list va;
     
    8080     * @param   va          Argument specfied in @a pszFormat.
    8181     */
    82     size_t vprintf(const char *pszFormat, va_list va) RT_IPRT_FORMAT_ATTR(2, 0);
     82    size_t vprintf(const char *pszFormat, va_list va) RT_NOEXCEPT RT_IPRT_FORMAT_ATTR(2, 0);
    8383
    8484    /**
     
    8686     * @returns Previous output state.  Pass to endArray() when done.
    8787     */
    88     virtual uint32_t beginArray();
     88    virtual uint32_t beginArray() RT_NOEXCEPT;
    8989
    9090    /**
     
    9292     * @param   a_uOldState     Previous output state (returned by beginArray()).
    9393     */
    94     virtual void endArray(uint32_t a_uOldState);
     94    virtual void endArray(uint32_t a_uOldState) RT_NOEXCEPT;
    9595
    9696    /**
     
    9898     * @returns Previous output state.  Pass to endObject() when done.
    9999     */
    100     virtual uint32_t beginObject();
     100    virtual uint32_t beginObject() RT_NOEXCEPT;
    101101
    102102    /**
     
    104104     * @param   a_uOldState     Previous output state (returned by beginObject()).
    105105     */
    106     virtual void endObject(uint32_t a_uOldState);
     106    virtual void endObject(uint32_t a_uOldState) RT_NOEXCEPT;
    107107
    108108    /**
     
    110110     * This is called before a value, not after.
    111111     */
    112     virtual void valueSeparator();
     112    virtual void valueSeparator() RT_NOEXCEPT;
    113113
    114114    /**
    115115     * Outputs a value separator, name and name separator.
    116116     */
    117     virtual void valueSeparatorAndName(const char *a_pszName, size_t a_cchName);
     117    virtual void valueSeparatorAndName(const char *a_pszName, size_t a_cchName) RT_NOEXCEPT;
    118118
    119119    /** Outputs a null-value. */
    120     void nullValue();
     120    void nullValue() RT_NOEXCEPT;
    121121
    122122protected:
     
    125125
    126126    /** @callback_method_impl{FNRTSTROUTPUT} */
    127     static DECLCALLBACK(size_t) printfOutputCallback(void *pvArg, const char *pachChars, size_t cbChars);
     127    static DECLCALLBACK(size_t) printfOutputCallback(void *pvArg, const char *pachChars, size_t cbChars) RT_NOEXCEPT;
    128128};
    129129
     
    135135{
    136136public:
    137     RTCRestOutputPrettyBase();
     137    RTCRestOutputPrettyBase() RT_NOEXCEPT;
    138138    virtual ~RTCRestOutputPrettyBase();
    139139
     
    142142     * @returns Previous output state.  Pass to endArray() when done.
    143143     */
    144     virtual uint32_t beginArray() RT_OVERRIDE;
     144    virtual uint32_t beginArray() RT_NOEXCEPT RT_OVERRIDE;
    145145
    146146    /**
     
    148148     * @param   a_uOldState     Previous output state (returned by beginArray()).
    149149     */
    150     virtual void endArray(uint32_t a_uOldState) RT_OVERRIDE;
     150    virtual void endArray(uint32_t a_uOldState) RT_NOEXCEPT RT_OVERRIDE;
    151151
    152152    /**
     
    154154     * @returns Previous output state.  Pass to endObject() when done.
    155155     */
    156     virtual uint32_t beginObject() RT_OVERRIDE;
     156    virtual uint32_t beginObject() RT_NOEXCEPT RT_OVERRIDE;
    157157
    158158    /**
     
    160160     * @param   a_uOldState     Previous output state (returned by beginObject()).
    161161     */
    162     virtual void endObject(uint32_t a_uOldState) RT_OVERRIDE;
     162    virtual void endObject(uint32_t a_uOldState) RT_NOEXCEPT RT_OVERRIDE;
    163163
    164164    /**
     
    166166     * This is called before a value, not after.
    167167     */
    168     virtual void valueSeparator() RT_OVERRIDE;
     168    virtual void valueSeparator() RT_NOEXCEPT RT_OVERRIDE;
    169169
    170170    /**
    171171     * Outputs a value separator, name and name separator.
    172172     */
    173     virtual void valueSeparatorAndName(const char *a_pszName, size_t a_cchName) RT_OVERRIDE;
     173    virtual void valueSeparatorAndName(const char *a_pszName, size_t a_cchName) RT_NOEXCEPT RT_OVERRIDE;
    174174
    175175protected:
    176176    /** Helper for outputting the correct amount of indentation. */
    177     void outputIndentation();
     177    void outputIndentation() RT_NOEXCEPT;
    178178};
    179179
     
    192192     *                      nuke the string content before starting the output.
    193193     */
    194     RTCRestOutputToString(RTCString *a_pDst, bool a_fAppend = false);
     194    RTCRestOutputToString(RTCString *a_pDst, bool a_fAppend = false) RT_NOEXCEPT;
    195195    virtual ~RTCRestOutputToString();
    196196
    197     virtual size_t output(const char *a_pchString, size_t a_cchToWrite) RT_OVERRIDE;
     197    virtual size_t output(const char *a_pchString, size_t a_cchToWrite) RT_NOEXCEPT RT_OVERRIDE;
    198198
    199199    /**
     
    206206     *          more output afterwards.
    207207     */
    208     virtual RTCString *finalize();
     208    virtual RTCString *finalize() RT_NOEXCEPT;
    209209
    210210protected:
     
    233233     *                      nuke the string content before starting the output.
    234234     */
    235     RTCRestOutputPrettyToString(RTCString *a_pDst, bool a_fAppend = false);
     235    RTCRestOutputPrettyToString(RTCString *a_pDst, bool a_fAppend = false) RT_NOEXCEPT;
    236236    virtual ~RTCRestOutputPrettyToString();
    237237
    238     virtual size_t output(const char *a_pchString, size_t a_cchToWrite) RT_OVERRIDE;
     238    virtual size_t output(const char *a_pchString, size_t a_cchToWrite) RT_NOEXCEPT RT_OVERRIDE;
    239239
    240240    /**
     
    247247     *          more output afterwards.
    248248     */
    249     virtual RTCString *finalize();
     249    virtual RTCString *finalize() RT_NOEXCEPT;
    250250
    251251protected:
  • trunk/include/iprt/cpp/reststringmap.h

    r74402 r74425  
    4444public:
    4545    /** Default destructor. */
    46     RTCRestStringMapBase();
     46    RTCRestStringMapBase() RT_NOEXCEPT;
    4747    /** Copy constructor. */
    4848    RTCRestStringMapBase(RTCRestStringMapBase const &a_rThat);
     
    5353
    5454    /* Overridden methods: */
    55     virtual RTCRestObjectBase *baseClone() const RT_OVERRIDE;
    56     virtual int resetToDefault() RT_OVERRIDE;
    57     virtual RTCRestOutputBase &serializeAsJson(RTCRestOutputBase &a_rDst) const RT_OVERRIDE;
    58     virtual int deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_OVERRIDE;
     55    virtual RTCRestObjectBase *baseClone() const RT_NOEXCEPT RT_OVERRIDE;
     56    virtual int resetToDefault() RT_NOEXCEPT RT_OVERRIDE;
     57    virtual RTCRestOutputBase &serializeAsJson(RTCRestOutputBase &a_rDst) const RT_NOEXCEPT RT_OVERRIDE;
     58    virtual int deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT RT_OVERRIDE;
    5959    // later?
    60     //virtual int toString(RTCString *a_pDst, uint32_t a_fFlags = kCollectionFormat_Unspecified) const RT_OVERRIDE;
     60    //virtual int toString(RTCString *a_pDst, uint32_t a_fFlags = kCollectionFormat_Unspecified) const RT_NOEXCEPT RT_OVERRIDE;
    6161    //virtual int fromString(RTCString const &a_rValue, const char *a_pszName, PRTERRINFO a_pErrInfo = NULL,
    62     //                       uint32_t a_fFlags = kCollectionFormat_Unspecified) RT_OVERRIDE;
    63     virtual kTypeClass typeClass(void) const RT_OVERRIDE;
    64     virtual const char *typeName(void) const RT_OVERRIDE;
     62    //                       uint32_t a_fFlags = kCollectionFormat_Unspecified) RT_NOEXCEPT RT_OVERRIDE;
     63    virtual kTypeClass typeClass(void) const RT_NOEXCEPT RT_OVERRIDE;
     64    virtual const char *typeName(void) const RT_NOEXCEPT RT_OVERRIDE;
    6565
    6666    /**
    6767     * Clear the content of the map.
    6868     */
    69     void clear();
     69    void clear() RT_NOEXCEPT;
    7070
    7171    /**
    7272     * Checks if the map is empty.
    7373     */
    74     inline bool isEmpty() const { return m_cEntries == 0; }
     74    inline bool isEmpty() const RT_NOEXCEPT { return m_cEntries == 0; }
    7575
    7676    /**
    7777     * Gets the number of entries in the map.
    7878     */
    79     size_t size() const;
     79    size_t size() const RT_NOEXCEPT;
    8080
    8181    /**
     
    8484     * @param   a_pszKey   The key to check fo.
    8585     */
    86     bool containsKey(const char *a_pszKey) const;
     86    bool containsKey(const char *a_pszKey) const RT_NOEXCEPT;
    8787
    8888    /**
     
    9191     * @param   a_rStrKey   The key to check fo.
    9292     */
    93     bool containsKey(RTCString const &a_rStrKey) const;
     93    bool containsKey(RTCString const &a_rStrKey) const RT_NOEXCEPT;
    9494
    9595    /**
     
    9898     * @param   a_pszKey    The key to remove.
    9999     */
    100     bool remove(const char *a_pszKey);
     100    bool remove(const char *a_pszKey) RT_NOEXCEPT;
    101101
    102102    /**
     
    105105     * @param   a_rStrKey   The key to remove.
    106106     */
    107     bool remove(RTCString const &a_rStrKey);
     107    bool remove(RTCString const &a_rStrKey) RT_NOEXCEPT;
    108108
    109109    /**
     
    117117     * @param   a_fReplace  Whether to replace or fail on key collision.
    118118     */
    119     int putNewValue(RTCRestObjectBase **a_ppValue, const char *a_pszKey, size_t a_cchKey = RTSTR_MAX, bool a_fReplace = false);
     119    int putNewValue(RTCRestObjectBase **a_ppValue, const char *a_pszKey, size_t a_cchKey = RTSTR_MAX, bool a_fReplace = false) RT_NOEXCEPT;
    120120
    121121    /**
     
    128128     * @param   a_fReplace  Whether to replace or fail on key collision.
    129129     */
    130     int putNewValue(RTCRestObjectBase **a_ppValue, RTCString const &a_rStrKey, bool a_fReplace = false);
     130    int putNewValue(RTCRestObjectBase **a_ppValue, RTCString const &a_rStrKey, bool a_fReplace = false) RT_NOEXCEPT;
    131131
    132132protected:
     
    159159    private:
    160160        MapEntry            *m_pCur;
    161         ConstIterator();
     161        ConstIterator() RT_NOEXCEPT;
    162162    protected:
    163         ConstIterator(MapEntry *a_pEntry) : m_pCur(a_pEntry) { }
     163        ConstIterator(MapEntry *a_pEntry) RT_NOEXCEPT : m_pCur(a_pEntry) { }
    164164    public:
    165         ConstIterator(ConstIterator const &a_rThat) : m_pCur(a_rThat.m_pCur) { }
     165        ConstIterator(ConstIterator const &a_rThat) RT_NOEXCEPT : m_pCur(a_rThat.m_pCur) { }
    166166
    167167        /** Gets the key string. */
    168         inline RTCString const         &getKey()   { return m_pCur->strKey; }
     168        inline RTCString const         &getKey() RT_NOEXCEPT   { return m_pCur->strKey; }
    169169        /** Gets poitner to the value object. */
    170         inline RTCRestObjectBase const *getValue() { return m_pCur->pValue; }
     170        inline RTCRestObjectBase const *getValue() RT_NOEXCEPT { return m_pCur->pValue; }
    171171
    172172        /** Advance to the next map entry. */
    173         inline ConstIterator &operator++()
     173        inline ConstIterator &operator++() RT_NOEXCEPT
    174174        {
    175175            m_pCur = RTListNodeGetNextCpp(&m_pCur->ListEntry, MapEntry, ListEntry);
     
    178178
    179179        /** Advance to the previous map entry. */
    180         inline ConstIterator &operator--()
     180        inline ConstIterator &operator--() RT_NOEXCEPT
    181181        {
    182182            m_pCur = RTListNodeGetPrevCpp(&m_pCur->ListEntry, MapEntry, ListEntry);
     
    185185
    186186        /** Compare equal. */
    187         inline bool operator==(ConstIterator const &a_rThat) { return m_pCur == a_rThat.m_pCur; }
     187        inline bool operator==(ConstIterator const &a_rThat) RT_NOEXCEPT { return m_pCur == a_rThat.m_pCur; }
    188188        /** Compare not equal. */
    189         inline bool operator!=(ConstIterator const &a_rThat) { return m_pCur != a_rThat.m_pCur; }
     189        inline bool operator!=(ConstIterator const &a_rThat) RT_NOEXCEPT { return m_pCur != a_rThat.m_pCur; }
    190190
    191191        /* Map class must be friend so it can use the MapEntry constructor. */
     
    194194
    195195    /** Returns iterator for the first map entry (unless it's empty and it's also the end). */
    196     inline ConstIterator begin() const
     196    inline ConstIterator begin() const RT_NOEXCEPT
    197197    {
    198198        if (!RTListIsEmpty(&m_ListHead))
     
    201201    }
    202202    /** Returns iterator for the last map entry (unless it's empty and it's also the end). */
    203     inline ConstIterator last() const
     203    inline ConstIterator last() const RT_NOEXCEPT
    204204    {
    205205        if (!RTListIsEmpty(&m_ListHead))
     
    208208    }
    209209    /** Returns the end iterator.  This does not ever refer to an actual map entry. */
    210     inline ConstIterator end() const
     210    inline ConstIterator end() const RT_NOEXCEPT
    211211    {
    212212        return ConstIterator(RT_FROM_CPP_MEMBER(&m_ListHead, MapEntry, ListEntry));
     
    221221     * @returns Pointer to new map object on success, NULL if out of memory.
    222222     */
    223     virtual RTCRestStringMapBase *createClone(void) const = 0;
     223    virtual RTCRestStringMapBase *createClone(void) const RT_NOEXCEPT = 0;
    224224
    225225    /**
     
    228228     * @returns Pointer to new value object on success, NULL if out of memory.
    229229     */
    230     virtual RTCRestObjectBase *createValue(void) = 0;
     230    virtual RTCRestObjectBase *createValue(void) RT_NOEXCEPT = 0;
    231231
    232232    /**
    233233     * For accessing the static deserializeInstanceFromJson() method of the value.
    234234     */
    235     virtual int deserializeValueInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance) = 0;
    236 
    237     /**
    238      * Worker for the copy constructor and the assignment operator.
     235    virtual int deserializeValueInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance) RT_NOEXCEPT = 0;
     236
     237    /**
     238     * Worker for the copy assignment method and copyMapWorkerMayThrow.
    239239     *
    240240     * This will use createEntryCopy to do the copying.
     
    243243     * @param   a_rThat     The map to copy.  Caller makes 100% sure the it has
    244244     *                      the same type as the destination.
    245      * @param   a_fThrow    Whether to throw error.
    246      */
    247     int copyMapWorker(RTCRestStringMapBase const &a_rThat, bool a_fThrow);
     245     */
     246    int copyMapWorkerNoThrow(RTCRestStringMapBase const &a_rThat) RT_NOEXCEPT;
     247
     248    /**
     249     * Wrapper around copyMapWorkerNoThrow() that throws allocation errors, making
     250     * it suitable for copy constructors and assignment operators.
     251     */
     252    void copyMapWorkerMayThrow(RTCRestStringMapBase const &a_rThat);
    248253
    249254    /**
     
    257262     * @param   a_cchKey        The key length, the whole string by default.
    258263     */
    259     int putWorker(const char *a_pszKey, RTCRestObjectBase *a_pValue, bool a_fReplace, size_t a_cchKey = RTSTR_MAX);
     264    int putWorker(const char *a_pszKey, RTCRestObjectBase *a_pValue, bool a_fReplace, size_t a_cchKey = RTSTR_MAX) RT_NOEXCEPT;
    260265
    261266    /**
     
    269274     * @param   a_cchKey        The key length, the whole string by default.
    270275     */
    271     int putCopyWorker(const char *a_pszKey, RTCRestObjectBase const &a_rValue, bool a_fReplace, size_t a_cchKey = RTSTR_MAX);
     276    int putCopyWorker(const char *a_pszKey, RTCRestObjectBase const &a_rValue, bool a_fReplace, size_t a_cchKey = RTSTR_MAX) RT_NOEXCEPT;
    272277
    273278    /**
     
    277282     * @param   a_pszKey        The key which value to look up.
    278283     */
    279     RTCRestObjectBase *getWorker(const char *a_pszKey);
     284    RTCRestObjectBase *getWorker(const char *a_pszKey) RT_NOEXCEPT;
    280285
    281286    /**
     
    285290     * @param   a_pszKey        The key which value to look up.
    286291     */
    287     RTCRestObjectBase const *getWorker(const char *a_pszKey) const;
     292    RTCRestObjectBase const *getWorker(const char *a_pszKey) const RT_NOEXCEPT;
    288293
    289294private:
    290     static DECLCALLBACK(int) stringSpaceDestructorCallback(PRTSTRSPACECORE pStr, void *pvUser);
     295    static DECLCALLBACK(int) stringSpaceDestructorCallback(PRTSTRSPACECORE pStr, void *pvUser) RT_NOEXCEPT;
    291296};
    292297
     
    299304public:
    300305    /** Default constructor, creates emtpy map. */
    301     RTCRestStringMap()
     306    RTCRestStringMap() RT_NOEXCEPT
    302307        : RTCRestStringMapBase()
    303308    {}
     
    307312        : RTCRestStringMapBase()
    308313    {
    309         copyMapWorker(a_rThat, true /*a_fThrow*/);
     314        copyMapWorkerMayThrow(a_rThat);
    310315    }
    311316
     
    319324    RTCRestStringMap &operator=(RTCRestStringMap const &a_rThat)
    320325    {
    321         copyMapWorker(a_rThat, true /*a_fThrow*/);
     326        copyMapWorkerMayThrow(a_rThat);
    322327        return *this;
    323328    }
    324329
    325330    /** Safe copy assignment method. */
    326     int assignCopy(RTCRestStringMap const &a_rThat)
    327     {
    328         return copyMapWorker(a_rThat, false /*a_fThrow*/);
     331    int assignCopy(RTCRestStringMap const &a_rThat) RT_NOEXCEPT
     332    {
     333        return copyMapWorkerNoThrow(a_rThat);
    329334    }
    330335
    331336    /** Make a clone of this object. */
    332     inline RTCRestStringMap *clone() const
     337    inline RTCRestStringMap *clone() const RT_NOEXCEPT
    333338    {
    334339        return (RTCRestStringMap *)baseClone();
     
    336341
    337342    /** Factory method. */
    338     static DECLCALLBACK(RTCRestObjectBase *) createInstance(void)
     343    static DECLCALLBACK(RTCRestObjectBase *) createInstance(void) RT_NOEXCEPT
    339344    {
    340345        return new (std::nothrow) RTCRestStringMap<ValueType>();
     
    342347
    343348    /** Factory method for values. */
    344     static DECLCALLBACK(RTCRestObjectBase *) createValueInstance(void)
     349    static DECLCALLBACK(RTCRestObjectBase *) createValueInstance(void) RT_NOEXCEPT
    345350    {
    346351        return new (std::nothrow) ValueType();
     
    348353
    349354    /** @copydoc RTCRestObjectBase::FNDESERIALIZEINSTANCEFROMJSON */
    350     static DECLCALLBACK(int) deserializeInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance)
     355    static DECLCALLBACK(int) deserializeInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance) RT_NOEXCEPT
    351356    {
    352357        *a_ppInstance = new (std::nothrow) RTCRestStringMap<ValueType>();
     
    365370     * @param   a_fReplace      Whether to replace existing key-value pair with matching key.
    366371     */
    367     inline int put(const char *a_pszKey, ValueType *a_pValue, bool a_fReplace = false)
     372    inline int put(const char *a_pszKey, ValueType *a_pValue, bool a_fReplace = false) RT_NOEXCEPT
    368373    {
    369374        return putWorker(a_pszKey, a_pValue, a_fReplace);
     
    379384     * @param   a_fReplace      Whether to replace existing key-value pair with matching key.
    380385     */
    381     inline int put(RTCString const &a_rStrKey, ValueType *a_pValue, bool a_fReplace = false)
     386    inline int put(RTCString const &a_rStrKey, ValueType *a_pValue, bool a_fReplace = false) RT_NOEXCEPT
    382387    {
    383388        return putWorker(a_rStrKey.c_str(), a_pValue, a_fReplace, a_rStrKey.length());
     
    393398     * @param   a_fReplace      Whether to replace existing key-value pair with matching key.
    394399     */
    395     inline int putCopy(const char *a_pszKey, const ValueType &a_rValue, bool a_fReplace = false)
     400    inline int putCopy(const char *a_pszKey, const ValueType &a_rValue, bool a_fReplace = false) RT_NOEXCEPT
    396401    {
    397402        return putCopyWorker(a_pszKey, a_rValue, a_fReplace);
     
    407412     * @param   a_fReplace      Whether to replace existing key-value pair with matching key.
    408413     */
    409     inline int putCopy(RTCString const &a_rStrKey, const ValueType &a_rValue, bool a_fReplace = false)
     414    inline int putCopy(RTCString const &a_rStrKey, const ValueType &a_rValue, bool a_fReplace = false) RT_NOEXCEPT
    410415    {
    411416        return putCopyWorker(a_rStrKey.c_str(), a_rValue, a_fReplace, a_rStrKey.length());
     
    418423     * @param   a_pszKey        The key which value to look up.
    419424     */
    420     inline ValueType *get(const char *a_pszKey)
     425    inline ValueType *get(const char *a_pszKey) RT_NOEXCEPT
    421426    {
    422427        return (ValueType *)getWorker(a_pszKey);
     
    429434     * @param   a_rStrKey       The key which value to look up.
    430435     */
    431     inline ValueType *get(RTCString const &a_rStrKey)
     436    inline ValueType *get(RTCString const &a_rStrKey) RT_NOEXCEPT
    432437    {
    433438        return (ValueType *)getWorker(a_rStrKey.c_str());
     
    440445     * @param   a_pszKey        The key which value to look up.
    441446     */
    442     inline ValueType const *get(const char *a_pszKey) const
     447    inline ValueType const *get(const char *a_pszKey) const RT_NOEXCEPT
    443448    {
    444449        return (ValueType const *)getWorker(a_pszKey);
     
    451456     * @param   a_rStrKey       The key which value to look up.
    452457     */
    453     inline ValueType const *get(RTCString const &a_rStrKey) const
     458    inline ValueType const *get(RTCString const &a_rStrKey) const RT_NOEXCEPT
    454459    {
    455460        return (ValueType const *)getWorker(a_rStrKey.c_str());
     
    459464
    460465protected:
    461     virtual RTCRestStringMapBase *createClone(void) const RT_OVERRIDE
     466    virtual RTCRestStringMapBase *createClone(void) const RT_NOEXCEPT RT_OVERRIDE
    462467    {
    463468        return new (std::nothrow) RTCRestStringMap();
    464469    }
    465470
    466     virtual RTCRestObjectBase *createValue(void) RT_OVERRIDE
     471    virtual RTCRestObjectBase *createValue(void) RT_NOEXCEPT RT_OVERRIDE
    467472    {
    468473        return new (std::nothrow) ValueType();
    469474    }
    470475
    471     virtual int deserializeValueInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance) RT_OVERRIDE
     476    virtual int deserializeValueInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance) RT_NOEXCEPT RT_OVERRIDE
    472477    {
    473478        return ValueType::deserializeInstanceFromJson(a_rCursor, a_ppInstance);
  • trunk/src/VBox/Runtime/Makefile.kmk

    r74414 r74425  
    23482348
    23492349
    2350 if1of ($(KBUILD_TARGET),win darwin) # remove later
     2350if1of ($(KBUILD_TARGET),win linux darwin) # remove later
    23512351if1of (VBoxRT,$(DLLS))
    23522352 #
  • trunk/src/VBox/Runtime/VBox/VBoxRTImp-gcc.def

    r74419 r74425  
    2828    ; RTCString & RTCRest classes.
    2929    ;
    30     ; Use the following command-line to generate the stuff below:
    31     ; nm ../../../out/darwin.amd64/debug/obj/VBoxRT/VBoxRT.dylib -U | kmk_sed -re '/(RTCString|RTCRest)/!d' -e 's/^[0-9a-fA-F]+ //' -e '/^[A-Z]/!d' | sort | kmk_sed -r -e 's/[SDBC] (.+)$/    \1 DATA/' -e 's/^[A-Z] /    /' -e 's/ __/ _/' >> VBox/VBoxRTImp-gcc.def
     30    ; Use one of the following command-line to generate the stuff below:
     31    ;   nm ../../../out/darwin.amd64/debug/obj/VBoxRT/VBoxRT.dylib -U | LC_COLLATE=C kmk_sed -re '/(RTCString|RTCRest)/!d' -e 's/^[0-9a-fA-F]+ //' -e '/^[A-Z]/!d'      -e 's/[SDBC] (.+)$/    \1 DATA/' -e 's/^[A-Z] /    /' -e 's/ __/ _/' | LC_COLLATE=C sort >> VBox/VBoxRTImp-gcc.def
     32    ;   nm ../../../out/linux.amd64/debug/obj/VBoxRT/VBoxRT.so        | LC_COLLATE=C kmk_sed -re '/(RTCString|RTCRest)/!d' -e 's/^[0-9a-fA-F]+ //' -e '/^[A-TV-Z]/!d' -e 's/[SDBCRV] (.+)$/    \1 DATA/' -e 's/^[A-Z] /    /'                | LC_COLLATE=C sort  >> VBox/VBoxRTImp-gcc.def
    3233    ;
    33     _ZTI9RTCString DATA
    34     _ZN9RTCString4nposE DATA
    35     _ZTI11RTCRestBool DATA
    36     _ZTI11RTCRestDate DATA
    37     _ZTI12RTCRestInt16 DATA
    38     _ZTI12RTCRestInt32 DATA
    39     _ZTI12RTCRestInt64 DATA
    40     _ZTI13RTCRestBinary DATA
    41     _ZTI13RTCRestDouble DATA
    42     _ZTI13RTCRestString DATA
    43     _ZTI16RTCRestAnyObject DATA
    44     _ZTI16RTCRestArrayBase DATA
    45     _ZTI17RTCRestDataObject DATA
    46     _ZTI17RTCRestObjectBase DATA
    47     _ZTI17RTCRestOutputBase DATA
    48     _ZTI20RTCRestClientApiBase DATA
    49     _ZTI20RTCRestStringMapBase DATA
    50     _ZTI21RTCRestBinaryResponse DATA
    51     _ZTI21RTCRestOutputToString DATA
    52     _ZTI21RTCRestPolyDataObject DATA
    53     _ZTI21RTCRestStringEnumBase DATA
    54     _ZTI22RTCRestBinaryParameter DATA
    55     _ZTI23RTCRestOutputPrettyBase DATA
    56     _ZTI24RTCRestClientRequestBase DATA
    57     _ZTI24RTCRestJsonPrimaryCursor DATA
    58     _ZTI25RTCRestClientResponseBase DATA
    59     _ZTI27RTCRestOutputPrettyToString DATA
    60     _ZTIN25RTCRestClientResponseBase24PrimaryJsonCursorForBodyE DATA
    61     _ZTS11RTCRestBool DATA
    62     _ZTS11RTCRestDate DATA
    63     _ZTS12RTCRestInt16 DATA
    64     _ZTS12RTCRestInt32 DATA
    65     _ZTS12RTCRestInt64 DATA
    66     _ZTS13RTCRestBinary DATA
    67     _ZTS13RTCRestDouble DATA
    68     _ZTS13RTCRestString DATA
    69     _ZTS16RTCRestAnyObject DATA
    70     _ZTS16RTCRestArrayBase DATA
    71     _ZTS17RTCRestDataObject DATA
    72     _ZTS17RTCRestObjectBase DATA
    73     _ZTS17RTCRestOutputBase DATA
    74     _ZTS20RTCRestClientApiBase DATA
    75     _ZTS20RTCRestStringMapBase DATA
    76     _ZTS21RTCRestBinaryResponse DATA
    77     _ZTS21RTCRestOutputToString DATA
    78     _ZTS21RTCRestPolyDataObject DATA
    79     _ZTS21RTCRestStringEnumBase DATA
    80     _ZTS22RTCRestBinaryParameter DATA
    81     _ZTS23RTCRestOutputPrettyBase DATA
    82     _ZTS24RTCRestClientRequestBase DATA
    83     _ZTS24RTCRestJsonPrimaryCursor DATA
    84     _ZTS25RTCRestClientResponseBase DATA
    85     _ZTS27RTCRestOutputPrettyToString DATA
    86     _ZTS9RTCString DATA
    87     _ZTSN25RTCRestClientResponseBase24PrimaryJsonCursorForBodyE DATA
    88     _ZTV11RTCRestBool DATA
    89     _ZTV11RTCRestDate DATA
    90     _ZTV12RTCRestInt16 DATA
    91     _ZTV12RTCRestInt32 DATA
    92     _ZTV12RTCRestInt64 DATA
    93     _ZTV13RTCRestBinary DATA
    94     _ZTV13RTCRestDouble DATA
    95     _ZTV13RTCRestString DATA
    96     _ZTV16RTCRestAnyObject DATA
    97     _ZTV16RTCRestArrayBase DATA
    98     _ZTV17RTCRestDataObject DATA
    99     _ZTV17RTCRestObjectBase DATA
    100     _ZTV17RTCRestOutputBase DATA
    101     _ZTV20RTCRestClientApiBase DATA
    102     _ZTV20RTCRestStringMapBase DATA
    103     _ZTV21RTCRestBinaryResponse DATA
    104     _ZTV21RTCRestOutputToString DATA
    105     _ZTV21RTCRestPolyDataObject DATA
    106     _ZTV21RTCRestStringEnumBase DATA
    107     _ZTV22RTCRestBinaryParameter DATA
    108     _ZTV23RTCRestOutputPrettyBase DATA
    109     _ZTV24RTCRestClientRequestBase DATA
    110     _ZTV24RTCRestJsonPrimaryCursor DATA
    111     _ZTV25RTCRestClientResponseBase DATA
    112     _ZTV27RTCRestOutputPrettyToString DATA
    113     _ZTVN25RTCRestClientResponseBase24PrimaryJsonCursorForBodyE DATA
    11434    _ZN11RTCRestBool10assignCopyERKS_
    11535    _ZN11RTCRestBool10fromStringERK9RTCStringPKcP9RTERRINFOj
     
    523443    _ZN9RTCString27printfOutputCallbackNoThrowEPvPKcm
    524444    _ZN9RTCString4joinERK7RTCListIS_PS_ERKS_
     445    _ZN9RTCString4nposE DATA
    525446    _ZN9RTCString5eraseEmm
    526447    _ZN9RTCString5stripEv
     
    640561    _ZNK9RTCString8endsWithERKS_NS_15CaseSensitivityE
    641562    _ZNK9RTCString8substrCPEmm
     563    _ZTI11RTCRestBool DATA
     564    _ZTI11RTCRestDate DATA
     565    _ZTI12RTCRestInt16 DATA
     566    _ZTI12RTCRestInt32 DATA
     567    _ZTI12RTCRestInt64 DATA
     568    _ZTI13RTCRestBinary DATA
     569    _ZTI13RTCRestDouble DATA
     570    _ZTI13RTCRestString DATA
     571    _ZTI16RTCRestAnyObject DATA
     572    _ZTI16RTCRestArrayBase DATA
     573    _ZTI17RTCRestDataObject DATA
     574    _ZTI17RTCRestObjectBase DATA
     575    _ZTI17RTCRestOutputBase DATA
     576    _ZTI20RTCRestClientApiBase DATA
     577    _ZTI20RTCRestStringMapBase DATA
     578    _ZTI21RTCRestBinaryResponse DATA
     579    _ZTI21RTCRestOutputToString DATA
     580    _ZTI21RTCRestPolyDataObject DATA
     581    _ZTI21RTCRestStringEnumBase DATA
     582    _ZTI22RTCRestBinaryParameter DATA
     583    _ZTI23RTCRestOutputPrettyBase DATA
     584    _ZTI24RTCRestClientRequestBase DATA
     585    _ZTI24RTCRestJsonPrimaryCursor DATA
     586    _ZTI25RTCRestClientResponseBase DATA
     587    _ZTI27RTCRestOutputPrettyToString DATA
     588    _ZTI9RTCString DATA
     589    _ZTIN25RTCRestClientResponseBase24PrimaryJsonCursorForBodyE DATA
     590    _ZTS11RTCRestBool DATA
     591    _ZTS11RTCRestDate DATA
     592    _ZTS12RTCRestInt16 DATA
     593    _ZTS12RTCRestInt32 DATA
     594    _ZTS12RTCRestInt64 DATA
     595    _ZTS13RTCRestBinary DATA
     596    _ZTS13RTCRestDouble DATA
     597    _ZTS13RTCRestString DATA
     598    _ZTS16RTCRestAnyObject DATA
     599    _ZTS16RTCRestArrayBase DATA
     600    _ZTS17RTCRestDataObject DATA
     601    _ZTS17RTCRestObjectBase DATA
     602    _ZTS17RTCRestOutputBase DATA
     603    _ZTS20RTCRestClientApiBase DATA
     604    _ZTS20RTCRestStringMapBase DATA
     605    _ZTS21RTCRestBinaryResponse DATA
     606    _ZTS21RTCRestOutputToString DATA
     607    _ZTS21RTCRestPolyDataObject DATA
     608    _ZTS21RTCRestStringEnumBase DATA
     609    _ZTS22RTCRestBinaryParameter DATA
     610    _ZTS23RTCRestOutputPrettyBase DATA
     611    _ZTS24RTCRestClientRequestBase DATA
     612    _ZTS24RTCRestJsonPrimaryCursor DATA
     613    _ZTS25RTCRestClientResponseBase DATA
     614    _ZTS27RTCRestOutputPrettyToString DATA
     615    _ZTS9RTCString DATA
     616    _ZTSN25RTCRestClientResponseBase24PrimaryJsonCursorForBodyE DATA
     617    _ZTV11RTCRestBool DATA
     618    _ZTV11RTCRestDate DATA
     619    _ZTV12RTCRestInt16 DATA
     620    _ZTV12RTCRestInt32 DATA
     621    _ZTV12RTCRestInt64 DATA
     622    _ZTV13RTCRestBinary DATA
     623    _ZTV13RTCRestDouble DATA
     624    _ZTV13RTCRestString DATA
     625    _ZTV16RTCRestAnyObject DATA
     626    _ZTV16RTCRestArrayBase DATA
     627    _ZTV17RTCRestDataObject DATA
     628    _ZTV17RTCRestObjectBase DATA
     629    _ZTV17RTCRestOutputBase DATA
     630    _ZTV20RTCRestClientApiBase DATA
     631    _ZTV20RTCRestStringMapBase DATA
     632    _ZTV21RTCRestBinaryResponse DATA
     633    _ZTV21RTCRestOutputToString DATA
     634    _ZTV21RTCRestPolyDataObject DATA
     635    _ZTV21RTCRestStringEnumBase DATA
     636    _ZTV22RTCRestBinaryParameter DATA
     637    _ZTV23RTCRestOutputPrettyBase DATA
     638    _ZTV24RTCRestClientRequestBase DATA
     639    _ZTV24RTCRestJsonPrimaryCursor DATA
     640    _ZTV25RTCRestClientResponseBase DATA
     641    _ZTV27RTCRestOutputPrettyToString DATA
     642    _ZTVN25RTCRestClientResponseBase24PrimaryJsonCursorForBodyE DATA
    642643    _ZThn16_N13RTCRestStringD0Ev
    643644    _ZThn16_N13RTCRestStringD1Ev
     
    645646    _ZplRK9RTCStringPKc
    646647    _ZplRK9RTCStringS1_
     648
  • trunk/src/VBox/Runtime/common/rest/RTCRestAnyObject.cpp

    r74414 r74425  
    4141 * Default constructor.
    4242 */
    43 RTCRestAnyObject::RTCRestAnyObject()
     43RTCRestAnyObject::RTCRestAnyObject() RT_NOEXCEPT
    4444    : RTCRestObjectBase()
    4545    , m_pData(NULL)
     
    9090 * Safe copy assignment method.
    9191 */
    92 int RTCRestAnyObject::assignCopy(RTCRestAnyObject const &a_rThat)
     92int RTCRestAnyObject::assignCopy(RTCRestAnyObject const &a_rThat) RT_NOEXCEPT
    9393{
    9494    setNull();
     
    126126 * Safe copy assignment method, boolean variant.
    127127 */
    128 int RTCRestAnyObject::assignCopy(RTCRestBool const &a_rThat)
     128int RTCRestAnyObject::assignCopy(RTCRestBool const &a_rThat) RT_NOEXCEPT
    129129{
    130130    setNull();
     
    143143 * Safe copy assignment method, int64_t variant.
    144144 */
    145 int RTCRestAnyObject::assignCopy(RTCRestInt64 const &a_rThat)
     145int RTCRestAnyObject::assignCopy(RTCRestInt64 const &a_rThat) RT_NOEXCEPT
    146146{
    147147    setNull();
     
    160160 * Safe copy assignment method, int32_t variant.
    161161 */
    162 int RTCRestAnyObject::assignCopy(RTCRestInt32 const &a_rThat)
     162int RTCRestAnyObject::assignCopy(RTCRestInt32 const &a_rThat) RT_NOEXCEPT
    163163{
    164164    setNull();
     
    177177 * Safe copy assignment method, int16_t variant.
    178178 */
    179 int RTCRestAnyObject::assignCopy(RTCRestInt16 const &a_rThat)
     179int RTCRestAnyObject::assignCopy(RTCRestInt16 const &a_rThat) RT_NOEXCEPT
    180180{
    181181    setNull();
     
    194194 * Safe copy assignment method, double variant.
    195195 */
    196 int RTCRestAnyObject::assignCopy(RTCRestDouble const &a_rThat)
     196int RTCRestAnyObject::assignCopy(RTCRestDouble const &a_rThat) RT_NOEXCEPT
    197197{
    198198    setNull();
     
    211211 * Safe copy assignment method, string variant.
    212212 */
    213 int RTCRestAnyObject::assignCopy(RTCRestString const &a_rThat)
     213int RTCRestAnyObject::assignCopy(RTCRestString const &a_rThat) RT_NOEXCEPT
    214214{
    215215    setNull();
     
    228228 * Safe copy assignment method, array variant.
    229229 */
    230 int RTCRestAnyObject::assignCopy(RTCRestArray<RTCRestAnyObject> const &a_rThat)
     230int RTCRestAnyObject::assignCopy(RTCRestArray<RTCRestAnyObject> const &a_rThat) RT_NOEXCEPT
    231231{
    232232    setNull();
     
    245245 * Safe copy assignment method, string map variant.
    246246 */
    247 int RTCRestAnyObject::assignCopy(RTCRestStringMap<RTCRestAnyObject> const &a_rThat)
     247int RTCRestAnyObject::assignCopy(RTCRestStringMap<RTCRestAnyObject> const &a_rThat) RT_NOEXCEPT
    248248{
    249249    setNull();
     
    262262 * Safe value assignment method, boolean variant.
    263263 */
    264 int RTCRestAnyObject::assignValue(bool a_fValue)
     264int RTCRestAnyObject::assignValue(bool a_fValue) RT_NOEXCEPT
    265265{
    266266    setNull();
     
    280280 * Safe value assignment method, int64_t variant.
    281281 */
    282 int RTCRestAnyObject::assignValue(int64_t a_iValue)
     282int RTCRestAnyObject::assignValue(int64_t a_iValue) RT_NOEXCEPT
    283283{
    284284    setNull();
     
    298298 * Safe value assignment method, int32_t variant.
    299299 */
    300 int RTCRestAnyObject::assignValue(int32_t a_iValue)
     300int RTCRestAnyObject::assignValue(int32_t a_iValue) RT_NOEXCEPT
    301301{
    302302    setNull();
     
    316316 * Safe value assignment method, int16_t variant.
    317317 */
    318 int RTCRestAnyObject::assignValue(int16_t a_iValue)
     318int RTCRestAnyObject::assignValue(int16_t a_iValue) RT_NOEXCEPT
    319319{
    320320    setNull();
     
    334334 * Safe value assignment method, double variant.
    335335 */
    336 int RTCRestAnyObject::assignValue(double a_iValue)
     336int RTCRestAnyObject::assignValue(double a_iValue) RT_NOEXCEPT
    337337{
    338338    setNull();
     
    352352 * Safe value assignment method, string variant.
    353353 */
    354 int RTCRestAnyObject::assignValue(RTCString const &a_rValue)
     354int RTCRestAnyObject::assignValue(RTCString const &a_rValue) RT_NOEXCEPT
    355355{
    356356    setNull();
     
    369369 * Safe value assignment method, C-string variant.
    370370 */
    371 int RTCRestAnyObject::assignValue(const char *a_pszValue)
     371int RTCRestAnyObject::assignValue(const char *a_pszValue) RT_NOEXCEPT
    372372{
    373373    setNull();
     
    383383
    384384
    385 RTCRestObjectBase *RTCRestAnyObject::baseClone() const
     385RTCRestObjectBase *RTCRestAnyObject::baseClone() const RT_NOEXCEPT
    386386{
    387387    RTCRestAnyObject *pClone = new (std::nothrow) RTCRestAnyObject();
     
    397397
    398398
    399 int RTCRestAnyObject::setNull(void)
     399int RTCRestAnyObject::setNull(void) RT_NOEXCEPT
    400400{
    401401    if (m_pData)
     
    408408
    409409
    410 int RTCRestAnyObject::resetToDefault()
     410int RTCRestAnyObject::resetToDefault() RT_NOEXCEPT
    411411{
    412412    if (m_pData)
     
    416416
    417417
    418 RTCRestOutputBase &RTCRestAnyObject::serializeAsJson(RTCRestOutputBase &a_rDst) const
     418RTCRestOutputBase &RTCRestAnyObject::serializeAsJson(RTCRestOutputBase &a_rDst) const RT_NOEXCEPT
    419419{
    420420    if (m_pData)
     
    425425
    426426
    427 int RTCRestAnyObject::deserializeFromJson(RTCRestJsonCursor const &a_rCursor)
     427int RTCRestAnyObject::deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT
    428428{
    429429    setNull();
     
    519519
    520520
    521 int RTCRestAnyObject::toString(RTCString *a_pDst, uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) const
     521int RTCRestAnyObject::toString(RTCString *a_pDst, uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) const RT_NOEXCEPT
    522522{
    523523    if (m_pData)
     
    530530
    531531int RTCRestAnyObject::fromString(RTCString const &a_rValue, const char *a_pszName, PRTERRINFO a_pErrInfo /*= NULL*/,
    532                                  uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/)
     532                                 uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) RT_NOEXCEPT
    533533{
    534534    return RTCRestObjectBase::fromString(a_rValue, a_pszName, a_pErrInfo, a_fFlags);
     
    536536
    537537
    538 RTCRestObjectBase::kTypeClass RTCRestAnyObject::typeClass(void) const
     538RTCRestObjectBase::kTypeClass RTCRestAnyObject::typeClass(void) const RT_NOEXCEPT
    539539{
    540540    return kTypeClass_AnyObject;
     
    542542
    543543
    544 const char *RTCRestAnyObject::typeName(void) const
     544const char *RTCRestAnyObject::typeName(void) const RT_NOEXCEPT
    545545{
    546546    if (m_pData)
     
    576576 * Factory method.
    577577 */
    578 /*static*/ DECLCALLBACK(RTCRestObjectBase *) RTCRestAnyObject::createInstance(void)
     578/*static*/ DECLCALLBACK(RTCRestObjectBase *) RTCRestAnyObject::createInstance(void) RT_NOEXCEPT
    579579{
    580580    return new (std::nothrow) RTCRestAnyObject();
  • trunk/src/VBox/Runtime/common/rest/RTCRestArrayBase.cpp

    r74414 r74425  
    4747 * Default destructor.
    4848 */
    49 RTCRestArrayBase::RTCRestArrayBase()
     49RTCRestArrayBase::RTCRestArrayBase() RT_NOEXCEPT
    5050    : RTCRestObjectBase()
    5151    , m_papElements(NULL)
     
    9191*********************************************************************************************************************************/
    9292
    93 RTCRestObjectBase *RTCRestArrayBase::baseClone() const
     93RTCRestObjectBase *RTCRestArrayBase::baseClone() const RT_NOEXCEPT
    9494{
    9595    RTCRestArrayBase *pClone = createClone();
    9696    if (pClone)
    9797    {
    98         int rc = pClone->copyArrayWorker(*this, false /*fThrow*/);
     98        int rc = pClone->copyArrayWorkerNoThrow(*this);
    9999        if (RT_SUCCESS(rc))
    100100            return pClone;
     
    105105
    106106
    107 int RTCRestArrayBase::resetToDefault()
     107int RTCRestArrayBase::resetToDefault() RT_NOEXCEPT
    108108{
    109109    /* The default state of an array is empty. At least for now. */
     
    114114
    115115
    116 RTCRestOutputBase &RTCRestArrayBase::serializeAsJson(RTCRestOutputBase &a_rDst) const
     116RTCRestOutputBase &RTCRestArrayBase::serializeAsJson(RTCRestOutputBase &a_rDst) const RT_NOEXCEPT
    117117{
    118118    if (!m_fNullIndicator)
     
    132132
    133133
    134 int RTCRestArrayBase::deserializeFromJson(RTCRestJsonCursor const &a_rCursor)
     134int RTCRestArrayBase::deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT
    135135{
    136136    /*
     
    216216
    217217
    218 int RTCRestArrayBase::toString(RTCString *a_pDst, uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) const
     218int RTCRestArrayBase::toString(RTCString *a_pDst, uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) const RT_NOEXCEPT
    219219{
    220220    int rc;
     
    250250
    251251int RTCRestArrayBase::fromString(RTCString const &a_rValue, const char *a_pszName, PRTERRINFO a_pErrInfo /*= NULL*/,
    252                                  uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/)
     252                                 uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) RT_NOEXCEPT
    253253{
    254254    /*
     
    312312
    313313
    314 RTCRestObjectBase::kTypeClass RTCRestArrayBase::typeClass(void) const
     314RTCRestObjectBase::kTypeClass RTCRestArrayBase::typeClass(void) const RT_NOEXCEPT
    315315{
    316316    return kTypeClass_Array;
     
    318318
    319319
    320 const char *RTCRestArrayBase::typeName(void) const
     320const char *RTCRestArrayBase::typeName(void) const RT_NOEXCEPT
    321321{
    322322    return "RTCRestArray<ElementType>";
     
    329329*********************************************************************************************************************************/
    330330
    331 void RTCRestArrayBase::clear()
     331void RTCRestArrayBase::clear() RT_NOEXCEPT
    332332{
    333333    size_t i = m_cElements;
     
    342342
    343343
    344 bool RTCRestArrayBase::removeAt(size_t a_idx)
     344bool RTCRestArrayBase::removeAt(size_t a_idx) RT_NOEXCEPT
    345345{
    346346    if (a_idx == ~(size_t)0)
     
    359359
    360360
    361 int RTCRestArrayBase::ensureCapacity(size_t a_cEnsureCapacity)
     361int RTCRestArrayBase::ensureCapacity(size_t a_cEnsureCapacity) RT_NOEXCEPT
    362362{
    363363    if (m_cCapacity < a_cEnsureCapacity)
     
    384384
    385385
    386 int RTCRestArrayBase::copyArrayWorker(RTCRestArrayBase const &a_rThat, bool a_fThrow)
     386int RTCRestArrayBase::copyArrayWorkerNoThrow(RTCRestArrayBase const &a_rThat) RT_NOEXCEPT
    387387{
    388388    int rc;
     
    405405                if (RT_SUCCESS(rc))
    406406                { /* likely */ }
    407                 else if (a_fThrow)
    408                     throw std::bad_alloc();
    409407                else
    410408                    return rc;
     
    415413}
    416414
    417 
    418 int RTCRestArrayBase::insertWorker(size_t a_idx, RTCRestObjectBase *a_pValue, bool a_fReplace)
     415void RTCRestArrayBase::copyArrayWorkerMayThrow(RTCRestArrayBase const &a_rThat)
     416{
     417    int rc = copyArrayWorkerNoThrow(a_rThat);
     418    if (RT_SUCCESS(rc))
     419        return;
     420    throw std::bad_alloc();
     421}
     422
     423
     424int RTCRestArrayBase::insertWorker(size_t a_idx, RTCRestObjectBase *a_pValue, bool a_fReplace) RT_NOEXCEPT
    419425{
    420426    AssertPtrReturn(a_pValue, VERR_INVALID_POINTER);
     
    462468
    463469
    464 int RTCRestArrayBase::insertCopyWorker(size_t a_idx, RTCRestObjectBase const &a_rValue, bool a_fReplace)
     470int RTCRestArrayBase::insertCopyWorker(size_t a_idx, RTCRestObjectBase const &a_rValue, bool a_fReplace) RT_NOEXCEPT
    465471{
    466472    int rc;
  • trunk/src/VBox/Runtime/common/rest/RTCRestClientApiBase.cpp

    r74351 r74425  
    4343 * Default constructor.
    4444 */
    45 RTCRestClientApiBase::RTCRestClientApiBase()
     45RTCRestClientApiBase::RTCRestClientApiBase() RT_NOEXCEPT
    4646    : m_hHttp(NIL_RTHTTP)
    4747{
     
    6363
    6464
    65 const char *RTCRestClientApiBase::getServerUrl(void) const
     65const char *RTCRestClientApiBase::getServerUrl(void) const RT_NOEXCEPT
    6666{
    6767    if (m_strServerUrl.isEmpty())
     
    7171
    7272
    73 int RTCRestClientApiBase::setServerUrl(const char *a_pszUrl)
     73int RTCRestClientApiBase::setServerUrl(const char *a_pszUrl) RT_NOEXCEPT
    7474{
    7575#ifdef RT_STRICT
     
    8787
    8888int RTCRestClientApiBase::setServerUrlPart(const char *a_pszServerUrl, size_t a_offDst, size_t a_cchDst,
    89                                            const char *a_pszSrc, size_t a_cchSrc)
     89                                           const char *a_pszSrc, size_t a_cchSrc) RT_NOEXCEPT
    9090{
    9191    if (   a_cchDst == a_cchSrc
     
    102102
    103103
    104 int RTCRestClientApiBase::setServerScheme(const char *a_pszScheme)
     104int RTCRestClientApiBase::setServerScheme(const char *a_pszScheme) RT_NOEXCEPT
    105105{
    106106    /*
     
    127127
    128128
    129 int RTCRestClientApiBase::setServerAuthority(const char *a_pszAuthority)
     129int RTCRestClientApiBase::setServerAuthority(const char *a_pszAuthority) RT_NOEXCEPT
    130130{
    131131    /*
     
    151151
    152152
    153 int RTCRestClientApiBase::setServerBasePath(const char *a_pszBasePath)
     153int RTCRestClientApiBase::setServerBasePath(const char *a_pszBasePath) RT_NOEXCEPT
    154154{
    155155    /*
     
    173173
    174174
    175 int RTCRestClientApiBase::reinitHttpInstance()
     175int RTCRestClientApiBase::reinitHttpInstance() RT_NOEXCEPT
    176176{
    177177    if (m_hHttp != NIL_RTHTTP)
     
    193193
    194194int RTCRestClientApiBase::xmitReady(RTHTTP a_hHttp, RTCString const &a_rStrFullUrl, RTHTTPMETHOD a_enmHttpMethod,
    195                                     RTCString const &a_rStrXmitBody, uint32_t a_fFlags)
     195                                    RTCString const &a_rStrXmitBody, uint32_t a_fFlags) RT_NOEXCEPT
    196196{
    197197    RT_NOREF(a_hHttp, a_rStrFullUrl, a_enmHttpMethod, a_rStrXmitBody, a_fFlags);
     
    201201
    202202int RTCRestClientApiBase::doCall(RTCRestClientRequestBase const &a_rRequest, RTHTTPMETHOD a_enmHttpMethod,
    203                                  RTCRestClientResponseBase *a_pResponse, const char *a_pszMethod, uint32_t a_fFlags)
     203                                 RTCRestClientResponseBase *a_pResponse, const char *a_pszMethod, uint32_t a_fFlags) RT_NOEXCEPT
    204204{
    205205    LogFlow(("doCall: %s %s\n", a_pszMethod, RTHttpMethodName(a_enmHttpMethod)));
  • trunk/src/VBox/Runtime/common/rest/RTCRestClientApiBaseOci.cpp

    r74149 r74425  
    5050 * @param   pvContent
    5151 */
    52 static int ociSignRequestEnsureDateOrXDate(RTHTTP hHttp)
     52static int ociSignRequestEnsureDateOrXDate(RTHTTP hHttp) RT_NOEXCEPT
    5353{
    5454    if (RTHttpGetHeader(hHttp, RT_STR_TUPLE("x-date")))
     
    7474 * @param   pvContent
    7575 */
    76 static int ociSignRequestEnsureXContentSha256(RTHTTP hHttp, void const *pvContent, size_t cbContent)
     76static int ociSignRequestEnsureXContentSha256(RTHTTP hHttp, void const *pvContent, size_t cbContent) RT_NOEXCEPT
    7777{
    7878    if (RTHttpGetHeader(hHttp, RT_STR_TUPLE("x-content-sha256")))
     
    103103 * @param   cbContent   The content length.
    104104 */
    105 static int ociSignRequestEnsureContentLength(RTHTTP hHttp, uint64_t cbContent)
     105static int ociSignRequestEnsureContentLength(RTHTTP hHttp, uint64_t cbContent) RT_NOEXCEPT
    106106{
    107107    if (RTHttpGetHeader(hHttp, RT_STR_TUPLE("Content-Length")))
     
    121121 * @param   pszUrl      The URL.
    122122 */
    123 static int ociSignRequestEnsureHost(RTHTTP hHttp, const char *pszUrl)
     123static int ociSignRequestEnsureHost(RTHTTP hHttp, const char *pszUrl) RT_NOEXCEPT
    124124{
    125125    if (RTHttpGetHeader(hHttp, RT_STR_TUPLE("host")))
     
    136136int RTCRestClientApiBase::ociSignRequest(RTHTTP a_hHttp, RTCString const &a_rStrFullUrl, RTHTTPMETHOD a_enmHttpMethod,
    137137                                         RTCString const &a_rStrXmitBody, uint32_t a_fFlags,
    138                                          RTCRKEY a_hKey, RTCString const &a_rStrKeyId)
     138                                         RTCRKEY a_hKey, RTCString const &a_rStrKeyId) RT_NOEXCEPT
    139139{
    140140    /*
  • trunk/src/VBox/Runtime/common/rest/RTCRestClientRequestBase.cpp

    r74395 r74425  
    4141 * Default constructor.
    4242 */
    43 RTCRestClientRequestBase::RTCRestClientRequestBase()
     43RTCRestClientRequestBase::RTCRestClientRequestBase() RT_NOEXCEPT
    4444    : m_fIsSet(0)
    4545    , m_fErrorSet(0)
     
    5151 * Copy constructor.
    5252 */
    53 RTCRestClientRequestBase::RTCRestClientRequestBase(RTCRestClientRequestBase const &a_rThat)
     53RTCRestClientRequestBase::RTCRestClientRequestBase(RTCRestClientRequestBase const &a_rThat) RT_NOEXCEPT
    5454    : m_fIsSet(a_rThat.m_fIsSet)
    5555    , m_fErrorSet(a_rThat.m_fErrorSet)
     
    7070 * Copy assignment operator.
    7171 */
    72 RTCRestClientRequestBase &RTCRestClientRequestBase::operator=(RTCRestClientRequestBase const &a_rThat)
     72RTCRestClientRequestBase &RTCRestClientRequestBase::operator=(RTCRestClientRequestBase const &a_rThat) RT_NOEXCEPT
    7373{
    7474    m_fIsSet    = a_rThat.m_fIsSet;
     
    8080int RTCRestClientRequestBase::doPathParameters(RTCString *a_pStrPath, const char *a_pszPathTemplate, size_t a_cchPathTemplate,
    8181                                               PATHPARAMDESC const *a_paPathParams, PATHPARAMSTATE *a_paPathParamStates,
    82                                                size_t a_cPathParams) const
     82                                               size_t a_cPathParams) const RT_NOEXCEPT
    8383{
    8484    int rc = a_pStrPath->assignNoThrow(a_pszPathTemplate, a_cchPathTemplate);
     
    127127
    128128int RTCRestClientRequestBase::doQueryParameters(RTCString *a_pStrQuery, QUERYPARAMDESC const *a_paQueryParams,
    129                                                 RTCRestObjectBase const **a_papQueryParamObjs, size_t a_cQueryParams) const
     129                                                RTCRestObjectBase const **a_papQueryParamObjs, size_t a_cQueryParams) const RT_NOEXCEPT
    130130{
    131131    RTCString strTmpVal;
     
    181181
    182182int RTCRestClientRequestBase::doHeaderParameters(RTHTTP a_hHttp, HEADERPARAMDESC const *a_paHeaderParams,
    183                                                  RTCRestObjectBase const **a_papHeaderParamObjs, size_t a_cHeaderParams) const
     183                                                 RTCRestObjectBase const **a_papHeaderParamObjs, size_t a_cHeaderParams) const RT_NOEXCEPT
    184184{
    185185    RTCString strTmpVal;
  • trunk/src/VBox/Runtime/common/rest/RTCRestClientResponseBase.cpp

    r74396 r74425  
    4040 * Default constructor.
    4141 */
    42 RTCRestClientResponseBase::RTCRestClientResponseBase()
     42RTCRestClientResponseBase::RTCRestClientResponseBase() RT_NOEXCEPT
    4343    : m_rcStatus(VERR_WRONG_ORDER)
    4444    , m_rcHttp(VERR_NOT_AVAILABLE)
     
    8888
    8989
    90 void RTCRestClientResponseBase::reset()
     90void RTCRestClientResponseBase::reset() RT_NOEXCEPT
    9191{
    9292    /* Return to default constructor state. */
     
    9999
    100100
    101 int RTCRestClientResponseBase::receivePrepare(RTHTTP a_hHttp)
     101int RTCRestClientResponseBase::receivePrepare(RTHTTP a_hHttp) RT_NOEXCEPT
    102102{
    103103    int rc = RTHttpSetHeaderCallback(a_hHttp, receiveHttpHeaderCallback, this);
     
    108108
    109109
    110 void RTCRestClientResponseBase::receiveComplete(int a_rcStatus, RTHTTP a_hHttp)
     110void RTCRestClientResponseBase::receiveComplete(int a_rcStatus, RTHTTP a_hHttp) RT_NOEXCEPT
    111111{
    112112    RT_NOREF_PV(a_hHttp);
     
    121121
    122122int RTCRestClientResponseBase::consumeHeader(uint32_t a_uMatchWord, const char *a_pchField, size_t a_cchField,
    123                                              const char *a_pchValue, size_t a_cchValue)
     123                                             const char *a_pchValue, size_t a_cchValue) RT_NOEXCEPT
    124124{
    125125    if (   a_uMatchWord == RTHTTP_MAKE_HDR_MATCH_WORD(sizeof("Content-Type") - 1, 'c', 'o', 'n')
     
    138138/*static*/ DECLCALLBACK(int)
    139139RTCRestClientResponseBase::receiveHttpHeaderCallback(RTHTTP hHttp, uint32_t uMatchWord, const char *pchField, size_t cchField,
    140                                                      const char *pchValue, size_t cchValue, void *pvUser)
     140                                                     const char *pchValue, size_t cchValue, void *pvUser) RT_NOEXCEPT
    141141{
    142142    RTCRestClientResponseBase *pThis = (RTCRestClientResponseBase *)pvUser;
     
    146146
    147147
    148 void RTCRestClientResponseBase::consumeBody(const char *a_pchData, size_t a_cbData)
     148void RTCRestClientResponseBase::consumeBody(const char *a_pchData, size_t a_cbData) RT_NOEXCEPT
    149149{
    150150    RT_NOREF(a_pchData, a_cbData);
     
    152152
    153153
    154 void RTCRestClientResponseBase::receiveFinal()
    155 {
    156 }
    157 
    158 
    159 PRTERRINFO RTCRestClientResponseBase::getErrInfoInternal(void)
     154void RTCRestClientResponseBase::receiveFinal() RT_NOEXCEPT
     155{
     156}
     157
     158
     159PRTERRINFO RTCRestClientResponseBase::getErrInfoInternal(void) RT_NOEXCEPT
    160160{
    161161    if (m_pErrInfo)
     
    169169
    170170
    171 void RTCRestClientResponseBase::deleteErrInfo(void)
     171void RTCRestClientResponseBase::deleteErrInfo(void) RT_NOEXCEPT
    172172{
    173173    if (m_pErrInfo)
     
    179179
    180180
    181 void RTCRestClientResponseBase::copyErrInfo(PCRTERRINFO pErrInfo)
     181void RTCRestClientResponseBase::copyErrInfo(PCRTERRINFO pErrInfo) RT_NOEXCEPT
    182182{
    183183    deleteErrInfo();
     
    192192
    193193
    194 int RTCRestClientResponseBase::addError(int rc, const char *pszFormat, ...)
     194int RTCRestClientResponseBase::addError(int rc, const char *pszFormat, ...) RT_NOEXCEPT
    195195{
    196196    PRTERRINFO pErrInfo = getErrInfoInternal();
     
    214214
    215215RTCRestClientResponseBase::PrimaryJsonCursorForBody::PrimaryJsonCursorForBody(RTJSONVAL hValue, const char *pszName,
    216                                                                               RTCRestClientResponseBase *a_pThat)
     216                                                                              RTCRestClientResponseBase *a_pThat) RT_NOEXCEPT
    217217    : RTCRestJsonPrimaryCursor(hValue, pszName, a_pThat->getErrInfoInternal())
    218218    , m_pThat(a_pThat)
     
    222222
    223223int RTCRestClientResponseBase::PrimaryJsonCursorForBody::addError(RTCRestJsonCursor const &a_rCursor, int a_rc,
    224                                                                   const char *a_pszFormat, ...)
     224                                                                  const char *a_pszFormat, ...) RT_NOEXCEPT
    225225{
    226226    va_list va;
     
    233233
    234234
    235 int RTCRestClientResponseBase::PrimaryJsonCursorForBody::unknownField(RTCRestJsonCursor const &a_rCursor)
     235int RTCRestClientResponseBase::PrimaryJsonCursorForBody::unknownField(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT
    236236{
    237237    char szPath[256];
     
    243243
    244244int RTCRestClientResponseBase::deserializeHeader(RTCRestObjectBase *a_pObj, const char *a_pchValue, size_t a_cchValue,
    245                                                  uint32_t a_fFlags, const char *a_pszErrorTag)
     245                                                 uint32_t a_fFlags, const char *a_pszErrorTag) RT_NOEXCEPT
    246246{
    247247    /*
     
    280280int RTCRestClientResponseBase::deserializeHeaderIntoMap(RTCRestStringMapBase *a_pMap, const char *a_pchField, size_t a_cchField,
    281281                                                        const char *a_pchValue, size_t a_cchValue, uint32_t a_fFlags,
    282                                                         const char *a_pszErrorTag)
     282                                                        const char *a_pszErrorTag) RT_NOEXCEPT
    283283{
    284284    /*
     
    336336
    337337
    338 void RTCRestClientResponseBase::deserializeBody(const char *a_pchData, size_t a_cbData, const char *a_pszBodyName)
     338void RTCRestClientResponseBase::deserializeBody(const char *a_pchData, size_t a_cbData, const char *a_pszBodyName) RT_NOEXCEPT
    339339{
    340340    if (m_strContentType.startsWith("application/json"))
     
    373373
    374374
    375 void RTCRestClientResponseBase::deserializeBodyFromJsonCursor(RTCRestJsonCursor const &a_rCursor)
     375void RTCRestClientResponseBase::deserializeBodyFromJsonCursor(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT
    376376{
    377377    a_rCursor.m_pPrimary->addError(a_rCursor, VERR_REST_INTERNAL_ERROR_8, "deserializeBodyFromJsonCursor must be overridden!");
  • trunk/src/VBox/Runtime/common/rest/RTCRestJsonPrimaryCursor.cpp

    r73977 r74425  
    3636
    3737
    38 char *RTCRestJsonPrimaryCursor::getPath(RTCRestJsonCursor const &a_rCursor, char *pszDst, size_t cbDst) const
     38char *RTCRestJsonPrimaryCursor::getPath(RTCRestJsonCursor const &a_rCursor, char *pszDst, size_t cbDst) const RT_NOEXCEPT
    3939{
    4040    AssertReturn(cbDst > 0, NULL);
     
    9090
    9191
    92 int RTCRestJsonPrimaryCursor::addError(RTCRestJsonCursor const &a_rCursor, int a_rc, const char *a_pszFormat, ...)
     92int RTCRestJsonPrimaryCursor::addError(RTCRestJsonCursor const &a_rCursor, int a_rc, const char *a_pszFormat, ...) RT_NOEXCEPT
    9393{
    9494    va_list va;
     
    101101
    102102
    103 int RTCRestJsonPrimaryCursor::unknownField(RTCRestJsonCursor const &a_rCursor)
     103int RTCRestJsonPrimaryCursor::unknownField(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT
    104104{
    105105    char szPath[128];
  • trunk/src/VBox/Runtime/common/rest/RTCRestOutputBase.cpp

    r74417 r74425  
    3636
    3737
    38 RTCRestOutputBase::RTCRestOutputBase()
     38RTCRestOutputBase::RTCRestOutputBase() RT_NOEXCEPT
    3939    : m_uState(0)
    4040{
     
    4747
    4848
    49 size_t RTCRestOutputBase::vprintf(const char *pszFormat, va_list va)
     49size_t RTCRestOutputBase::vprintf(const char *pszFormat, va_list va) RT_NOEXCEPT
    5050{
    5151    return RTStrFormatV(printfOutputCallback, this, NULL, NULL, pszFormat, va);
     
    5353
    5454
    55 /*static*/ DECLCALLBACK(size_t) RTCRestOutputBase::printfOutputCallback(void *pvArg, const char *pachChars, size_t cbChars)
     55/*static*/ DECLCALLBACK(size_t) RTCRestOutputBase::printfOutputCallback(void *pvArg, const char *pachChars, size_t cbChars) RT_NOEXCEPT
    5656{
    5757    return ((RTCRestOutputBase *)pvArg)->output(pachChars, cbChars);
     
    5959
    6060
    61 uint32_t RTCRestOutputBase::beginArray()
     61uint32_t RTCRestOutputBase::beginArray() RT_NOEXCEPT
    6262{
    6363    output(RT_STR_TUPLE("["));
     
    6868
    6969
    70 void RTCRestOutputBase::endArray(uint32_t a_uOldState)
     70void RTCRestOutputBase::endArray(uint32_t a_uOldState) RT_NOEXCEPT
    7171{
    7272    m_uState = a_uOldState;
     
    7575
    7676
    77 uint32_t RTCRestOutputBase::beginObject()
     77uint32_t RTCRestOutputBase::beginObject() RT_NOEXCEPT
    7878{
    7979    output(RT_STR_TUPLE("{"));
     
    8484
    8585
    86 void RTCRestOutputBase::endObject(uint32_t a_uOldState)
     86void RTCRestOutputBase::endObject(uint32_t a_uOldState) RT_NOEXCEPT
    8787{
    8888    m_uState = a_uOldState;
     
    9191
    9292
    93 void RTCRestOutputBase::valueSeparator()
     93void RTCRestOutputBase::valueSeparator() RT_NOEXCEPT
    9494{
    9595    if (m_uState & RT_BIT_32(31))
     
    100100
    101101
    102 void RTCRestOutputBase::valueSeparatorAndName(const char *a_pszName, size_t a_cchName)
     102void RTCRestOutputBase::valueSeparatorAndName(const char *a_pszName, size_t a_cchName) RT_NOEXCEPT
    103103{
    104104    RT_NOREF(a_cchName);
     
    113113
    114114
    115 void RTCRestOutputBase::nullValue()
     115void RTCRestOutputBase::nullValue() RT_NOEXCEPT
    116116{
    117117    output(RT_STR_TUPLE("null"));
  • trunk/src/VBox/Runtime/common/rest/RTCRestOutputPrettyBase.cpp

    r74414 r74425  
    3636
    3737
    38 RTCRestOutputPrettyBase::RTCRestOutputPrettyBase()
     38RTCRestOutputPrettyBase::RTCRestOutputPrettyBase() RT_NOEXCEPT
    3939    : RTCRestOutputBase()
    4040{
     
    4747
    4848
    49 uint32_t RTCRestOutputPrettyBase::beginArray()
     49uint32_t RTCRestOutputPrettyBase::beginArray() RT_NOEXCEPT
    5050{
    5151    output(RT_STR_TUPLE("["));
     
    5656
    5757
    58 void RTCRestOutputPrettyBase::endArray(uint32_t a_uOldState)
     58void RTCRestOutputPrettyBase::endArray(uint32_t a_uOldState) RT_NOEXCEPT
    5959{
    6060    m_uState = a_uOldState;
     
    6565
    6666
    67 uint32_t RTCRestOutputPrettyBase::beginObject()
     67uint32_t RTCRestOutputPrettyBase::beginObject() RT_NOEXCEPT
    6868{
    6969    output(RT_STR_TUPLE("{"));
     
    7474
    7575
    76 void RTCRestOutputPrettyBase::endObject(uint32_t a_uOldState)
     76void RTCRestOutputPrettyBase::endObject(uint32_t a_uOldState) RT_NOEXCEPT
    7777{
    7878    m_uState = a_uOldState;
     
    8383
    8484
    85 void RTCRestOutputPrettyBase::valueSeparator()
     85void RTCRestOutputPrettyBase::valueSeparator() RT_NOEXCEPT
    8686{
    8787    if (m_uState & RT_BIT_32(31))
     
    9696
    9797
    98 void RTCRestOutputPrettyBase::valueSeparatorAndName(const char *a_pszName, size_t a_cchName)
     98void RTCRestOutputPrettyBase::valueSeparatorAndName(const char *a_pszName, size_t a_cchName) RT_NOEXCEPT
    9999{
    100100    RT_NOREF(a_cchName);
     
    111111
    112112
    113 void RTCRestOutputPrettyBase::outputIndentation()
     113void RTCRestOutputPrettyBase::outputIndentation() RT_NOEXCEPT
    114114{
    115115    static char const s_szSpaces[] = "                                                                                         ";
  • trunk/src/VBox/Runtime/common/rest/RTCRestOutputPrettyToString.cpp

    r74414 r74425  
    3636
    3737
    38 RTCRestOutputPrettyToString::RTCRestOutputPrettyToString(RTCString *a_pDst, bool a_fAppend /*= false*/)
     38RTCRestOutputPrettyToString::RTCRestOutputPrettyToString(RTCString *a_pDst, bool a_fAppend /*= false*/) RT_NOEXCEPT
    3939    : RTCRestOutputPrettyBase()
    4040    , m_pDst(a_pDst)
     
    5353
    5454
    55 size_t RTCRestOutputPrettyToString::output(const char *a_pchString, size_t a_cchToWrite)
     55size_t RTCRestOutputPrettyToString::output(const char *a_pchString, size_t a_cchToWrite) RT_NOEXCEPT
    5656{
    5757    if (a_cchToWrite)
     
    108108
    109109
    110 RTCString *RTCRestOutputPrettyToString::finalize()
     110RTCString *RTCRestOutputPrettyToString::finalize() RT_NOEXCEPT
    111111{
    112112    RTCString *pRet;
  • trunk/src/VBox/Runtime/common/rest/RTCRestOutputToString.cpp

    r74414 r74425  
    3636
    3737
    38 RTCRestOutputToString::RTCRestOutputToString(RTCString *a_pDst, bool a_fAppend /*= false*/)
     38RTCRestOutputToString::RTCRestOutputToString(RTCString *a_pDst, bool a_fAppend /*= false*/) RT_NOEXCEPT
    3939    : RTCRestOutputBase()
    4040    , m_pDst(a_pDst)
     
    5353
    5454
    55 size_t RTCRestOutputToString::output(const char *a_pchString, size_t a_cchToWrite)
     55size_t RTCRestOutputToString::output(const char *a_pchString, size_t a_cchToWrite) RT_NOEXCEPT
    5656{
    5757    if (a_cchToWrite)
     
    108108
    109109
    110 RTCString *RTCRestOutputToString::finalize()
     110RTCString *RTCRestOutputToString::finalize() RT_NOEXCEPT
    111111{
    112112    RTCString *pRet;
  • trunk/src/VBox/Runtime/common/rest/RTCRestStringMapBase.cpp

    r74414 r74425  
    4040 * Default destructor.
    4141 */
    42 RTCRestStringMapBase::RTCRestStringMapBase()
     42RTCRestStringMapBase::RTCRestStringMapBase() RT_NOEXCEPT
    4343    : RTCRestObjectBase()
    4444    , m_Map(NULL)
     
    7575*********************************************************************************************************************************/
    7676
    77 RTCRestObjectBase *RTCRestStringMapBase::baseClone() const
     77RTCRestObjectBase *RTCRestStringMapBase::baseClone() const RT_NOEXCEPT
    7878{
    7979    RTCRestStringMapBase *pClone = createClone();
    8080    if (pClone)
    8181    {
    82         int rc = pClone->copyMapWorker(*this, false /*fThrow*/);
     82        int rc = pClone->copyMapWorkerNoThrow(*this);
    8383        if (RT_SUCCESS(rc))
    8484            return pClone;
     
    8989
    9090
    91 int RTCRestStringMapBase::resetToDefault()
     91int RTCRestStringMapBase::resetToDefault() RT_NOEXCEPT
    9292{
    9393    /* Default is an empty map. */
     
    9898
    9999
    100 RTCRestOutputBase &RTCRestStringMapBase::serializeAsJson(RTCRestOutputBase &a_rDst) const
     100RTCRestOutputBase &RTCRestStringMapBase::serializeAsJson(RTCRestOutputBase &a_rDst) const RT_NOEXCEPT
    101101{
    102102    if (!m_fNullIndicator)
     
    117117
    118118
    119 int RTCRestStringMapBase::deserializeFromJson(RTCRestJsonCursor const &a_rCursor)
     119int RTCRestStringMapBase::deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT
    120120{
    121121    /*
     
    209209
    210210
    211 RTCRestObjectBase::kTypeClass RTCRestStringMapBase::typeClass(void) const
     211RTCRestObjectBase::kTypeClass RTCRestStringMapBase::typeClass(void) const RT_NOEXCEPT
    212212{
    213213    return kTypeClass_StringMap;
     
    215215
    216216
    217 const char *RTCRestStringMapBase::typeName(void) const
     217const char *RTCRestStringMapBase::typeName(void) const RT_NOEXCEPT
    218218{
    219219    return "RTCRestStringMap<ValueType>";
     
    228228 * @callback_method_impl{FNRTSTRSPACECALLBACK}
    229229 */
    230 /*static*/ DECLCALLBACK(int) RTCRestStringMapBase::stringSpaceDestructorCallback(PRTSTRSPACECORE pStr, void *pvUser)
     230/*static*/ DECLCALLBACK(int) RTCRestStringMapBase::stringSpaceDestructorCallback(PRTSTRSPACECORE pStr, void *pvUser) RT_NOEXCEPT
    231231{
    232232    MapEntry *pNode = (MapEntry *)pStr;
     
    244244
    245245
    246 void RTCRestStringMapBase::clear()
     246void RTCRestStringMapBase::clear() RT_NOEXCEPT
    247247{
    248248    RTStrSpaceDestroy(&m_Map, stringSpaceDestructorCallback, NULL);
     
    253253
    254254
    255 size_t RTCRestStringMapBase::size() const
     255size_t RTCRestStringMapBase::size() const RT_NOEXCEPT
    256256{
    257257    return m_cEntries;
     
    259259
    260260
    261 bool RTCRestStringMapBase::containsKey(const char *a_pszKey) const
     261bool RTCRestStringMapBase::containsKey(const char *a_pszKey) const RT_NOEXCEPT
    262262{
    263263    return RTStrSpaceGet((PRTSTRSPACE)&m_Map, a_pszKey) != NULL;
     
    265265
    266266
    267 bool RTCRestStringMapBase::containsKey(RTCString const &a_rStrKey) const
     267bool RTCRestStringMapBase::containsKey(RTCString const &a_rStrKey) const RT_NOEXCEPT
    268268{
    269269    return containsKey(a_rStrKey.c_str());
     
    271271
    272272
    273 bool RTCRestStringMapBase::remove(const char *a_pszKey)
     273bool RTCRestStringMapBase::remove(const char *a_pszKey) RT_NOEXCEPT
    274274{
    275275    MapEntry *pRemoved = (MapEntry *)RTStrSpaceRemove(&m_Map, a_pszKey);
     
    285285
    286286
    287 bool RTCRestStringMapBase::remove(RTCString const &a_rStrKey)
     287bool RTCRestStringMapBase::remove(RTCString const &a_rStrKey) RT_NOEXCEPT
    288288{
    289289    return remove(a_rStrKey.c_str());
     
    292292
    293293int RTCRestStringMapBase::putNewValue(RTCRestObjectBase **a_ppValue, const char *a_pszKey, size_t a_cchKey /*= RTSTR_MAX*/,
    294                                       bool a_fReplace /*= false*/)
     294                                      bool a_fReplace /*= false*/) RT_NOEXCEPT
    295295{
    296296    RTCRestObjectBase *pValue = createValue();
     
    312312
    313313
    314 int RTCRestStringMapBase::putNewValue(RTCRestObjectBase **a_ppValue, RTCString const &a_rStrKey, bool a_fReplace /*= false*/)
     314int RTCRestStringMapBase::putNewValue(RTCRestObjectBase **a_ppValue, RTCString const &a_rStrKey, bool a_fReplace /*= false*/) RT_NOEXCEPT
    315315{
    316316    return putNewValue(a_ppValue, a_rStrKey.c_str(), a_rStrKey.length(), a_fReplace);
     
    322322*********************************************************************************************************************************/
    323323
    324 int RTCRestStringMapBase::copyMapWorker(RTCRestStringMapBase const &a_rThat, bool a_fThrow)
     324int RTCRestStringMapBase::copyMapWorkerNoThrow(RTCRestStringMapBase const &a_rThat) RT_NOEXCEPT
    325325{
    326326    Assert(this != &a_rThat);
     
    336336            if (RT_SUCCESS(rc))
    337337            { /* likely */ }
    338             else if (a_fThrow)
    339                 throw std::bad_alloc();
    340338            else
    341339                return rc;
     
    347345
    348346
     347void RTCRestStringMapBase::copyMapWorkerMayThrow(RTCRestStringMapBase const &a_rThat)
     348{
     349    int rc = copyMapWorkerNoThrow(a_rThat);
     350    if (RT_SUCCESS(rc))
     351        return;
     352    throw std::bad_alloc();
     353}
     354
     355
    349356int RTCRestStringMapBase::putWorker(const char *a_pszKey, RTCRestObjectBase *a_pValue, bool a_fReplace,
    350                                     size_t a_cchKey /*= RTSTR_MAX*/)
     357                                    size_t a_cchKey /*= RTSTR_MAX*/) RT_NOEXCEPT
    351358{
    352359    int rc;
     
    396403
    397404int RTCRestStringMapBase::putCopyWorker(const char *a_pszKey, RTCRestObjectBase const &a_rValue, bool a_fReplace,
    398                                         size_t a_cchKey /*= RTSTR_MAX*/)
     405                                        size_t a_cchKey /*= RTSTR_MAX*/) RT_NOEXCEPT
    399406{
    400407    int rc;
     
    414421
    415422
    416 RTCRestObjectBase *RTCRestStringMapBase::getWorker(const char *a_pszKey)
     423RTCRestObjectBase *RTCRestStringMapBase::getWorker(const char *a_pszKey) RT_NOEXCEPT
    417424{
    418425    MapEntry *pHit = (MapEntry *)RTStrSpaceGet(&m_Map, a_pszKey);
     
    423430
    424431
    425 RTCRestObjectBase const *RTCRestStringMapBase::getWorker(const char *a_pszKey) const
     432RTCRestObjectBase const *RTCRestStringMapBase::getWorker(const char *a_pszKey) const RT_NOEXCEPT
    426433{
    427434    MapEntry const *pHit = (MapEntry const *)RTStrSpaceGet((PRTSTRSPACE)&m_Map, a_pszKey);
  • trunk/src/VBox/Runtime/common/rest/rest-binary.cpp

    r74414 r74425  
    5656 * Default constructor.
    5757 */
    58 RTCRestBinary::RTCRestBinary()
     58RTCRestBinary::RTCRestBinary() RT_NOEXCEPT
    5959    : m_pbData(NULL)
    6060    , m_cbData(0)
     
    7777 * Safe copy assignment method.
    7878 */
    79 int RTCRestBinary::assignCopy(RTCRestBinary const &a_rThat)
     79int RTCRestBinary::assignCopy(RTCRestBinary const &a_rThat) RT_NOEXCEPT
    8080{
    8181    freeData();
     
    9999 * Safe buffer copy method.
    100100 */
    101 int RTCRestBinary::assignCopy(void const *a_pvData, size_t a_cbData)
     101int RTCRestBinary::assignCopy(void const *a_pvData, size_t a_cbData) RT_NOEXCEPT
    102102{
    103103    if (   m_pbData == NULL
     
    126126 * Use the specified data buffer directly.
    127127 */
    128 int RTCRestBinary::assignReadOnly(void const *a_pvData, size_t a_cbData)
     128int RTCRestBinary::assignReadOnly(void const *a_pvData, size_t a_cbData) RT_NOEXCEPT
    129129{
    130130    freeData();
     
    145145 * Use the specified data buffer directly.
    146146 */
    147 int RTCRestBinary::assignWriteable(void *a_pvBuf, size_t a_cbBuf)
     147int RTCRestBinary::assignWriteable(void *a_pvBuf, size_t a_cbBuf) RT_NOEXCEPT
    148148{
    149149    freeData();
     
    164164 * Frees the data held by the object and resets it default state.
    165165 */
    166 void RTCRestBinary::freeData()
     166void RTCRestBinary::freeData() RT_NOEXCEPT
    167167{
    168168    if (m_fFreeable)
     
    178178/* Overridden methods: */
    179179
    180 RTCRestObjectBase *RTCRestBinary::baseClone() const
     180RTCRestObjectBase *RTCRestBinary::baseClone() const RT_NOEXCEPT
    181181{
    182182    RTCRestBinary *pClone = new (std::nothrow) RTCRestBinary();
     
    192192
    193193
    194 int RTCRestBinary::setNull(void)
     194int RTCRestBinary::setNull(void) RT_NOEXCEPT
    195195{
    196196    freeData();
     
    200200
    201201
    202 int RTCRestBinary::resetToDefault(void)
    203 {
    204     freeData();
    205     return VINF_SUCCESS;
    206 }
    207 
    208 
    209 RTCRestOutputBase &RTCRestBinary::serializeAsJson(RTCRestOutputBase &a_rDst) const
     202int RTCRestBinary::resetToDefault(void) RT_NOEXCEPT
     203{
     204    freeData();
     205    return VINF_SUCCESS;
     206}
     207
     208
     209RTCRestOutputBase &RTCRestBinary::serializeAsJson(RTCRestOutputBase &a_rDst) const RT_NOEXCEPT
    210210{
    211211    AssertMsgFailed(("We should never get here!\n"));
     
    215215
    216216
    217 int RTCRestBinary::deserializeFromJson(RTCRestJsonCursor const &a_rCursor)
     217int RTCRestBinary::deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT
    218218{
    219219    return a_rCursor.m_pPrimary->addError(a_rCursor, VERR_NOT_SUPPORTED, "RTCRestBinary does not support deserialization!");
     
    221221
    222222
    223 int RTCRestBinary::toString(RTCString *a_pDst, uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) const
     223int RTCRestBinary::toString(RTCString *a_pDst, uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) const RT_NOEXCEPT
    224224{
    225225    RT_NOREF(a_pDst, a_fFlags);
     
    229229
    230230int RTCRestBinary::fromString(RTCString const &a_rValue, const char *a_pszName, PRTERRINFO a_pErrInfo/*= NULL*/,
    231                               uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/)
     231                              uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) RT_NOEXCEPT
    232232{
    233233    RT_NOREF(a_rValue, a_pszName, a_fFlags);
     
    236236
    237237
    238 RTCRestObjectBase::kTypeClass RTCRestBinary::typeClass(void) const
     238RTCRestObjectBase::kTypeClass RTCRestBinary::typeClass(void) const RT_NOEXCEPT
    239239{
    240240    return kTypeClass_Binary;
     
    242242
    243243
    244 const char *RTCRestBinary::typeName(void) const
     244const char *RTCRestBinary::typeName(void) const RT_NOEXCEPT
    245245{
    246246    return "RTCRestBinary";
     
    249249
    250250/** Factory method. */
    251 /*static*/ DECLCALLBACK(RTCRestObjectBase *) RTCRestBinary::createInstance(void)
     251/*static*/ DECLCALLBACK(RTCRestObjectBase *) RTCRestBinary::createInstance(void) RT_NOEXCEPT
    252252{
    253253    return new (std::nothrow) RTCRestBinary();
     
    259259 */
    260260/*static*/ DECLCALLBACK(int)
    261 RTCRestBinary::deserializeInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance)
     261RTCRestBinary::deserializeInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance) RT_NOEXCEPT
    262262{
    263263    RTCRestObjectBase *pObj;
     
    277277 * Default constructor.
    278278 */
    279 RTCRestBinaryParameter::RTCRestBinaryParameter()
     279RTCRestBinaryParameter::RTCRestBinaryParameter() RT_NOEXCEPT
    280280    : RTCRestBinary()
    281281    , m_cbContentLength(UINT64_MAX)
     
    287287
    288288
    289 int RTCRestBinaryParameter::assignCopy(RTCRestBinaryParameter const &a_rThat)
     289int RTCRestBinaryParameter::assignCopy(RTCRestBinaryParameter const &a_rThat) RT_NOEXCEPT
    290290{
    291291    AssertReturn(a_rThat.m_pfnProducer, VERR_INVALID_STATE);
     
    300300
    301301
    302 int RTCRestBinaryParameter::assignCopy(RTCRestBinary const &a_rThat)
     302int RTCRestBinaryParameter::assignCopy(RTCRestBinary const &a_rThat) RT_NOEXCEPT
    303303{
    304304    m_cbContentLength = a_rThat.getSize();
     
    310310
    311311
    312 int RTCRestBinaryParameter::assignCopy(void const *a_pvData, size_t a_cbData)
     312int RTCRestBinaryParameter::assignCopy(void const *a_pvData, size_t a_cbData) RT_NOEXCEPT
    313313{
    314314    m_cbContentLength = a_cbData;
     
    319319
    320320
    321 int RTCRestBinaryParameter::assignReadOnly(void const *a_pvData, size_t a_cbData)
     321int RTCRestBinaryParameter::assignReadOnly(void const *a_pvData, size_t a_cbData) RT_NOEXCEPT
    322322{
    323323    m_cbContentLength = a_cbData;
     
    328328
    329329
    330 int RTCRestBinaryParameter::assignWriteable(void *a_pvBuf, size_t a_cbBuf)
     330int RTCRestBinaryParameter::assignWriteable(void *a_pvBuf, size_t a_cbBuf) RT_NOEXCEPT
    331331{
    332332    AssertMsgFailed(("Please use assignReadOnly!\n"));
     
    335335
    336336
    337 RTCRestObjectBase *RTCRestBinaryParameter::baseClone() const
     337RTCRestObjectBase *RTCRestBinaryParameter::baseClone() const RT_NOEXCEPT
    338338{
    339339    RTCRestBinaryParameter *pClone = new (std::nothrow) RTCRestBinaryParameter();
     
    349349
    350350
    351 int RTCRestBinaryParameter::resetToDefault()
     351int RTCRestBinaryParameter::resetToDefault() RT_NOEXCEPT
    352352{
    353353    m_cbContentLength = UINT64_MAX;
     
    358358
    359359
    360 const char *RTCRestBinaryParameter::typeName(void) const
     360const char *RTCRestBinaryParameter::typeName(void) const RT_NOEXCEPT
    361361{
    362362    return "RTCRestBinaryParameter";
     
    364364
    365365
    366 /*static*/ DECLCALLBACK(RTCRestObjectBase *) RTCRestBinaryParameter::createInstance(void)
     366/*static*/ DECLCALLBACK(RTCRestObjectBase *) RTCRestBinaryParameter::createInstance(void) RT_NOEXCEPT
    367367{
    368368    return new (std::nothrow) RTCRestBinaryParameter();
     
    370370
    371371
    372 int RTCRestBinaryParameter::setContentType(const char *a_pszContentType)
     372int RTCRestBinaryParameter::setContentType(const char *a_pszContentType) RT_NOEXCEPT
    373373{
    374374    return m_strContentType.assignNoThrow(a_pszContentType);
     
    377377
    378378void RTCRestBinaryParameter::setProducerCallback(PFNPRODUCER a_pfnProducer,  void *a_pvCallbackData /*= NULL*/,
    379                                                  uint64_t a_cbContentLength /*= UINT64_MAX*/)
     379                                                 uint64_t a_cbContentLength /*= UINT64_MAX*/) RT_NOEXCEPT
    380380{
    381381    freeData();
     
    387387
    388388
    389 int RTCRestBinaryParameter::xmitPrepare(RTHTTP a_hHttp) const
     389int RTCRestBinaryParameter::xmitPrepare(RTHTTP a_hHttp) const RT_NOEXCEPT
    390390{
    391391    AssertReturn(m_pbData != NULL || m_pfnProducer != NULL || m_cbContentLength == 0, VERR_INVALID_STATE);
     
    434434/*static*/ DECLCALLBACK(int)
    435435RTCRestBinaryParameter::xmitHttpCallback(RTHTTP hHttp, void *pvBuf, size_t cbBuf,
    436                                          uint64_t offContent, size_t *pcbActual, void *pvUser)
     436                                         uint64_t offContent, size_t *pcbActual, void *pvUser) RT_NOEXCEPT
    437437{
    438438    RTCRestBinaryParameter *pThis = (RTCRestBinaryParameter *)pvUser;
     
    462462
    463463
    464 void RTCRestBinaryParameter::xmitComplete(RTHTTP a_hHttp) const
     464void RTCRestBinaryParameter::xmitComplete(RTHTTP a_hHttp) const RT_NOEXCEPT
    465465{
    466466    /* Unset the callback. */
     
    477477 * Default constructor.
    478478 */
    479 RTCRestBinaryResponse::RTCRestBinaryResponse()
     479RTCRestBinaryResponse::RTCRestBinaryResponse() RT_NOEXCEPT
    480480    : RTCRestBinary()
    481481    , m_cbContentLength(UINT64_MAX)
     
    488488
    489489
    490 int RTCRestBinaryResponse::assignCopy(RTCRestBinaryResponse const &a_rThat)
     490int RTCRestBinaryResponse::assignCopy(RTCRestBinaryResponse const &a_rThat) RT_NOEXCEPT
    491491{
    492492    AssertReturn(a_rThat.m_pfnConsumer, VERR_INVALID_STATE);
     
    499499
    500500
    501 int RTCRestBinaryResponse::assignCopy(RTCRestBinary const &a_rThat)
     501int RTCRestBinaryResponse::assignCopy(RTCRestBinary const &a_rThat) RT_NOEXCEPT
    502502{
    503503    m_cbContentLength = UINT64_MAX;
     
    509509
    510510
    511 int RTCRestBinaryResponse::assignCopy(void const *a_pvData, size_t a_cbData)
     511int RTCRestBinaryResponse::assignCopy(void const *a_pvData, size_t a_cbData) RT_NOEXCEPT
    512512{
    513513    RT_NOREF(a_pvData, a_cbData);
     
    516516
    517517
    518 int RTCRestBinaryResponse::assignReadOnly(void const *a_pvData, size_t a_cbData)
     518int RTCRestBinaryResponse::assignReadOnly(void const *a_pvData, size_t a_cbData) RT_NOEXCEPT
    519519{
    520520    RT_NOREF(a_pvData, a_cbData);
     
    523523
    524524
    525 int RTCRestBinaryResponse::assignWriteable(void *a_pvBuf, size_t a_cbBuf)
     525int RTCRestBinaryResponse::assignWriteable(void *a_pvBuf, size_t a_cbBuf) RT_NOEXCEPT
    526526{
    527527    m_cbContentLength = UINT64_MAX;
     
    534534
    535535
    536 RTCRestObjectBase *RTCRestBinaryResponse::baseClone() const
     536RTCRestObjectBase *RTCRestBinaryResponse::baseClone() const RT_NOEXCEPT
    537537{
    538538    RTCRestBinaryResponse *pClone = new (std::nothrow) RTCRestBinaryResponse();
     
    548548
    549549
    550 int RTCRestBinaryResponse::resetToDefault()
     550int RTCRestBinaryResponse::resetToDefault() RT_NOEXCEPT
    551551{
    552552    m_cbContentLength = UINT64_MAX;
     
    559559
    560560
    561 const char *RTCRestBinaryResponse::typeName(void) const
     561const char *RTCRestBinaryResponse::typeName(void) const RT_NOEXCEPT
    562562{
    563563    return "RTCRestBinaryResponse";
     
    565565
    566566
    567 /*static*/ DECLCALLBACK(RTCRestObjectBase *) RTCRestBinaryResponse::createInstance(void)
     567/*static*/ DECLCALLBACK(RTCRestObjectBase *) RTCRestBinaryResponse::createInstance(void) RT_NOEXCEPT
    568568{
    569569    return new (std::nothrow) RTCRestBinaryResponse();
     
    571571
    572572
    573 void RTCRestBinaryResponse::setMaxDownloadSize(size_t a_cbMaxDownload)
     573void RTCRestBinaryResponse::setMaxDownloadSize(size_t a_cbMaxDownload) RT_NOEXCEPT
    574574{
    575575    if (a_cbMaxDownload == 0)
     
    580580
    581581
    582 void RTCRestBinaryResponse::setConsumerCallback(PFNCONSUMER a_pfnConsumer, void *a_pvCallbackData /*= NULL*/)
     582void RTCRestBinaryResponse::setConsumerCallback(PFNCONSUMER a_pfnConsumer, void *a_pvCallbackData /*= NULL*/) RT_NOEXCEPT
    583583{
    584584    freeData();
     
    591591
    592592
    593 int RTCRestBinaryResponse::receivePrepare(RTHTTP a_hHttp, uint32_t a_fCallbackFlags)
     593int RTCRestBinaryResponse::receivePrepare(RTHTTP a_hHttp, uint32_t a_fCallbackFlags) RT_NOEXCEPT
    594594{
    595595    AssertReturn(!m_fReadOnly, VERR_INVALID_STATE);
     
    606606/*static*/ DECLCALLBACK(int)
    607607RTCRestBinaryResponse::receiveHttpCallback(RTHTTP hHttp, void const *pvBuf, size_t cbBuf, uint32_t uHttpStatus,
    608                                            uint64_t offContent, uint64_t cbContent, void *pvUser)
     608                                           uint64_t offContent, uint64_t cbContent, void *pvUser) RT_NOEXCEPT
    609609{
    610610    RTCRestBinaryResponse *pThis = (RTCRestBinaryResponse *)pvUser;
     
    687687
    688688
    689 void RTCRestBinaryResponse::receiveComplete(RTHTTP a_hHttp)
     689void RTCRestBinaryResponse::receiveComplete(RTHTTP a_hHttp) RT_NOEXCEPT
    690690{
    691691    /* Unset the callback. */
  • trunk/src/VBox/Runtime/common/rest/rest-primary-object-types.cpp

    r74414 r74425  
    4848
    4949/** Default constructor. */
    50 RTCRestObjectBase::RTCRestObjectBase()
     50RTCRestObjectBase::RTCRestObjectBase() RT_NOEXCEPT
    5151    : m_fNullIndicator(false)
    5252{
     
    5555
    5656/** Copy constructor. */
    57 RTCRestObjectBase::RTCRestObjectBase(RTCRestObjectBase const &a_rThat)
     57RTCRestObjectBase::RTCRestObjectBase(RTCRestObjectBase const &a_rThat) RT_NOEXCEPT
    5858    : m_fNullIndicator(a_rThat.m_fNullIndicator)
    5959{
     
    6868
    6969
    70 int RTCRestObjectBase::setNull()
     70int RTCRestObjectBase::setNull() RT_NOEXCEPT
    7171{
    7272    int rc = resetToDefault();
     
    7676
    7777
    78 void RTCRestObjectBase::setNotNull()
    79 {
    80     m_fNullIndicator = false;
    81 }
    82 
    83 
    84 int RTCRestObjectBase::toString(RTCString *a_pDst, uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) const
     78void RTCRestObjectBase::setNotNull() RT_NOEXCEPT
     79{
     80    m_fNullIndicator = false;
     81}
     82
     83
     84int RTCRestObjectBase::toString(RTCString *a_pDst, uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) const RT_NOEXCEPT
    8585{
    8686    /*
     
    102102
    103103int RTCRestObjectBase::fromString(RTCString const &a_rValue, const char *a_pszName, PRTERRINFO a_pErrInfo /*= NULL*/,
    104                                   uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/)
     104                                  uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) RT_NOEXCEPT
    105105{
    106106    RT_NOREF(a_fFlags);
     
    126126
    127127/** Factory method. */
    128 /*static*/ DECLCALLBACK(RTCRestObjectBase *) RTCRestBool::createInstance(void)
     128/*static*/ DECLCALLBACK(RTCRestObjectBase *) RTCRestBool::createInstance(void) RT_NOEXCEPT
    129129{
    130130    return new (std::nothrow) RTCRestBool();
     
    136136 */
    137137/*static*/ DECLCALLBACK(int)
    138 RTCRestBool::deserializeInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance)
     138RTCRestBool::deserializeInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance) RT_NOEXCEPT
    139139{
    140140    RTCRestObjectBase *pObj = createInstance();
     
    147147
    148148/** Default constructor. */
    149 RTCRestBool::RTCRestBool()
     149RTCRestBool::RTCRestBool() RT_NOEXCEPT
    150150    : RTCRestObjectBase()
    151151    , m_fValue(false)
     
    155155
    156156/** Copy constructor. */
    157 RTCRestBool::RTCRestBool(RTCRestBool const &a_rThat)
     157RTCRestBool::RTCRestBool(RTCRestBool const &a_rThat) RT_NOEXCEPT
    158158    : RTCRestObjectBase(a_rThat)
    159159    , m_fValue(a_rThat.m_fValue)
     
    163163
    164164/** From value constructor. */
    165 RTCRestBool::RTCRestBool(bool fValue)
     165RTCRestBool::RTCRestBool(bool fValue) RT_NOEXCEPT
    166166    : m_fValue(fValue)
    167167{
     
    177177
    178178/** Copy assignment operator. */
    179 RTCRestBool &RTCRestBool::operator=(RTCRestBool const &a_rThat)
     179RTCRestBool &RTCRestBool::operator=(RTCRestBool const &a_rThat) RT_NOEXCEPT
    180180{
    181181    m_fNullIndicator = a_rThat.m_fNullIndicator;
     
    185185
    186186
    187 int RTCRestBool::assignCopy(RTCRestBool const &a_rThat)
     187int RTCRestBool::assignCopy(RTCRestBool const &a_rThat) RT_NOEXCEPT
    188188{
    189189    m_fNullIndicator = a_rThat.m_fNullIndicator;
     
    193193
    194194
    195 void RTCRestBool::assignValue(bool a_fValue)
     195void RTCRestBool::assignValue(bool a_fValue) RT_NOEXCEPT
    196196{
    197197    m_fValue = a_fValue;
     
    200200
    201201
    202 RTCRestObjectBase *RTCRestBool::baseClone() const
     202RTCRestObjectBase *RTCRestBool::baseClone() const RT_NOEXCEPT
    203203{
    204204    return new (std::nothrow) RTCRestBool(*this);
     
    206206
    207207
    208 int RTCRestBool::resetToDefault()
     208int RTCRestBool::resetToDefault() RT_NOEXCEPT
    209209{
    210210    m_fValue = false;
     
    214214
    215215
    216 RTCRestOutputBase &RTCRestBool::serializeAsJson(RTCRestOutputBase &a_rDst) const
     216RTCRestOutputBase &RTCRestBool::serializeAsJson(RTCRestOutputBase &a_rDst) const RT_NOEXCEPT
    217217{
    218218    a_rDst.printf(!m_fNullIndicator ? m_fValue ? "true" : "false" : "null");
     
    221221
    222222
    223 int RTCRestBool::deserializeFromJson(RTCRestJsonCursor const &a_rCursor)
     223int RTCRestBool::deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT
    224224{
    225225    m_fValue = false;
     
    248248
    249249
    250 int RTCRestBool::toString(RTCString *a_pDst, uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) const
     250int RTCRestBool::toString(RTCString *a_pDst, uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) const RT_NOEXCEPT
    251251{
    252252    if (!(a_fFlags & kToString_Append))
     
    272272
    273273int RTCRestBool::fromString(RTCString const &a_rValue, const char *a_pszName, PRTERRINFO a_pErrInfo /*= NULL*/,
    274                             uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/)
     274                            uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) RT_NOEXCEPT
    275275{
    276276    RT_NOREF(a_fFlags);
     
    298298
    299299
    300 RTCRestObjectBase::kTypeClass RTCRestBool::typeClass() const
     300RTCRestObjectBase::kTypeClass RTCRestBool::typeClass() const RT_NOEXCEPT
    301301{
    302302    return kTypeClass_Bool;
     
    304304
    305305
    306 const char *RTCRestBool::typeName() const
     306const char *RTCRestBool::typeName() const RT_NOEXCEPT
    307307{
    308308    return "bool";
     
    316316
    317317/** Factory method. */
    318 /*static*/ DECLCALLBACK(RTCRestObjectBase *) RTCRestInt64::createInstance(void)
     318/*static*/ DECLCALLBACK(RTCRestObjectBase *) RTCRestInt64::createInstance(void) RT_NOEXCEPT
    319319{
    320320    return new (std::nothrow) RTCRestInt64();
     
    326326 */
    327327/*static*/ DECLCALLBACK(int)
    328 RTCRestInt64::deserializeInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance)
     328RTCRestInt64::deserializeInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance) RT_NOEXCEPT
    329329{
    330330    RTCRestObjectBase *pObj = createInstance();
     
    337337
    338338/** Default constructor. */
    339 RTCRestInt64::RTCRestInt64()
     339RTCRestInt64::RTCRestInt64() RT_NOEXCEPT
    340340    : RTCRestObjectBase()
    341341    , m_iValue(0)
     
    345345
    346346/** Copy constructor. */
    347 RTCRestInt64::RTCRestInt64(RTCRestInt64 const &a_rThat)
     347RTCRestInt64::RTCRestInt64(RTCRestInt64 const &a_rThat) RT_NOEXCEPT
    348348    : RTCRestObjectBase(a_rThat)
    349349    , m_iValue(a_rThat.m_iValue)
     
    353353
    354354/** From value constructor. */
    355 RTCRestInt64::RTCRestInt64(int64_t iValue)
     355RTCRestInt64::RTCRestInt64(int64_t iValue) RT_NOEXCEPT
    356356    : RTCRestObjectBase()
    357357    , m_iValue(iValue)
     
    368368
    369369/** Copy assignment operator. */
    370 RTCRestInt64 &RTCRestInt64::operator=(RTCRestInt64 const &a_rThat)
     370RTCRestInt64 &RTCRestInt64::operator=(RTCRestInt64 const &a_rThat) RT_NOEXCEPT
    371371{
    372372    m_fNullIndicator = a_rThat.m_fNullIndicator;
     
    376376
    377377
    378 int RTCRestInt64::assignCopy(RTCRestInt64 const &a_rThat)
     378int RTCRestInt64::assignCopy(RTCRestInt64 const &a_rThat) RT_NOEXCEPT
    379379{
    380380    m_fNullIndicator = a_rThat.m_fNullIndicator;
     
    384384
    385385
    386 void RTCRestInt64::assignValue(int64_t a_iValue)
     386void RTCRestInt64::assignValue(int64_t a_iValue) RT_NOEXCEPT
    387387{
    388388    m_iValue = a_iValue;
     
    391391
    392392
    393 RTCRestObjectBase *RTCRestInt64::baseClone() const
     393RTCRestObjectBase *RTCRestInt64::baseClone() const RT_NOEXCEPT
    394394{
    395395    return new (std::nothrow) RTCRestInt64(*this);
     
    397397
    398398
    399 int RTCRestInt64::resetToDefault()
     399int RTCRestInt64::resetToDefault() RT_NOEXCEPT
    400400{
    401401    m_iValue = 0;
     
    405405
    406406
    407 RTCRestOutputBase &RTCRestInt64::serializeAsJson(RTCRestOutputBase &a_rDst) const
     407RTCRestOutputBase &RTCRestInt64::serializeAsJson(RTCRestOutputBase &a_rDst) const RT_NOEXCEPT
    408408{
    409409    if (!m_fNullIndicator)
     
    415415
    416416
    417 int RTCRestInt64::deserializeFromJson(RTCRestJsonCursor const &a_rCursor)
     417int RTCRestInt64::deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT
    418418{
    419419    m_iValue = 0;
     
    444444
    445445
    446 int RTCRestInt64::toString(RTCString *a_pDst, uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) const
     446int RTCRestInt64::toString(RTCString *a_pDst, uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) const RT_NOEXCEPT
    447447{
    448448    if (!(a_fFlags & kToString_Append))
     
    459459
    460460int RTCRestInt64::fromString(RTCString const &a_rValue, const char *a_pszName, PRTERRINFO a_pErrInfo /*= NULL*/,
    461                              uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/)
     461                             uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) RT_NOEXCEPT
    462462{
    463463    RT_NOREF(a_fFlags);
     
    482482
    483483
    484 RTCRestObjectBase::kTypeClass RTCRestInt64::typeClass() const
     484RTCRestObjectBase::kTypeClass RTCRestInt64::typeClass() const RT_NOEXCEPT
    485485{
    486486    return kTypeClass_Int64;
     
    488488
    489489
    490 const char *RTCRestInt64::typeName() const
     490const char *RTCRestInt64::typeName() const RT_NOEXCEPT
    491491{
    492492    return "int64_t";
     
    500500
    501501/** Factory method. */
    502 /*static*/ DECLCALLBACK(RTCRestObjectBase *) RTCRestInt32::createInstance(void)
     502/*static*/ DECLCALLBACK(RTCRestObjectBase *) RTCRestInt32::createInstance(void) RT_NOEXCEPT
    503503{
    504504    return new (std::nothrow) RTCRestInt32();
     
    510510 */
    511511/*static*/ DECLCALLBACK(int)
    512 RTCRestInt32::deserializeInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance)
     512RTCRestInt32::deserializeInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance) RT_NOEXCEPT
    513513{
    514514    RTCRestObjectBase *pObj = createInstance();
     
    521521
    522522/** Default constructor. */
    523 RTCRestInt32::RTCRestInt32()
     523RTCRestInt32::RTCRestInt32() RT_NOEXCEPT
    524524    : RTCRestObjectBase()
    525525    , m_iValue(0)
     
    529529
    530530/** Copy constructor. */
    531 RTCRestInt32::RTCRestInt32(RTCRestInt32 const &a_rThat)
     531RTCRestInt32::RTCRestInt32(RTCRestInt32 const &a_rThat) RT_NOEXCEPT
    532532    : RTCRestObjectBase(a_rThat)
    533533    , m_iValue(a_rThat.m_iValue)
     
    537537
    538538/** From value constructor. */
    539 RTCRestInt32::RTCRestInt32(int32_t iValue)
     539RTCRestInt32::RTCRestInt32(int32_t iValue) RT_NOEXCEPT
    540540    : RTCRestObjectBase()
    541541    , m_iValue(iValue)
     
    552552
    553553/** Copy assignment operator. */
    554 RTCRestInt32 &RTCRestInt32::operator=(RTCRestInt32 const &a_rThat)
     554RTCRestInt32 &RTCRestInt32::operator=(RTCRestInt32 const &a_rThat) RT_NOEXCEPT
    555555{
    556556    m_fNullIndicator = a_rThat.m_fNullIndicator;
     
    560560
    561561
    562 int RTCRestInt32::assignCopy(RTCRestInt32 const &a_rThat)
     562int RTCRestInt32::assignCopy(RTCRestInt32 const &a_rThat) RT_NOEXCEPT
    563563{
    564564    m_fNullIndicator = a_rThat.m_fNullIndicator;
     
    568568
    569569
    570 RTCRestObjectBase *RTCRestInt32::baseClone() const
     570RTCRestObjectBase *RTCRestInt32::baseClone() const RT_NOEXCEPT
    571571{
    572572    return new (std::nothrow) RTCRestInt32(*this);
     
    574574
    575575
    576 int RTCRestInt32::resetToDefault()
     576int RTCRestInt32::resetToDefault() RT_NOEXCEPT
    577577{
    578578    m_iValue = 0;
     
    582582
    583583
    584 void RTCRestInt32::assignValue(int32_t a_iValue)
     584void RTCRestInt32::assignValue(int32_t a_iValue) RT_NOEXCEPT
    585585{
    586586    m_iValue = a_iValue;
     
    589589
    590590
    591 RTCRestOutputBase &RTCRestInt32::serializeAsJson(RTCRestOutputBase &a_rDst) const
     591RTCRestOutputBase &RTCRestInt32::serializeAsJson(RTCRestOutputBase &a_rDst) const RT_NOEXCEPT
    592592{
    593593    if (!m_fNullIndicator)
     
    599599
    600600
    601 int RTCRestInt32::deserializeFromJson(RTCRestJsonCursor const &a_rCursor)
     601int RTCRestInt32::deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT
    602602{
    603603    m_iValue = 0;
     
    634634
    635635
    636 int RTCRestInt32::toString(RTCString *a_pDst, uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) const
     636int RTCRestInt32::toString(RTCString *a_pDst, uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) const RT_NOEXCEPT
    637637{
    638638    if (!(a_fFlags & kToString_Append))
     
    649649
    650650int RTCRestInt32::fromString(RTCString const &a_rValue, const char *a_pszName, PRTERRINFO a_pErrInfo /*= NULL*/,
    651                              uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/)
     651                             uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) RT_NOEXCEPT
    652652{
    653653    RT_NOREF(a_fFlags);
     
    672672
    673673
    674 RTCRestObjectBase::kTypeClass RTCRestInt32::typeClass() const
     674RTCRestObjectBase::kTypeClass RTCRestInt32::typeClass() const RT_NOEXCEPT
    675675{
    676676    return kTypeClass_Int32;
     
    678678
    679679
    680 const char *RTCRestInt32::typeName() const
     680const char *RTCRestInt32::typeName() const RT_NOEXCEPT
    681681{
    682682    return "int32_t";
     
    690690
    691691/** Factory method. */
    692 /*static*/ DECLCALLBACK(RTCRestObjectBase *) RTCRestInt16::createInstance(void)
     692/*static*/ DECLCALLBACK(RTCRestObjectBase *) RTCRestInt16::createInstance(void) RT_NOEXCEPT
    693693{
    694694    return new (std::nothrow) RTCRestInt16();
     
    700700 */
    701701/*static*/ DECLCALLBACK(int)
    702 RTCRestInt16::deserializeInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance)
     702RTCRestInt16::deserializeInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance) RT_NOEXCEPT
    703703{
    704704    RTCRestObjectBase *pObj = createInstance();
     
    711711
    712712/** Default constructor. */
    713 RTCRestInt16::RTCRestInt16()
     713RTCRestInt16::RTCRestInt16() RT_NOEXCEPT
    714714    : RTCRestObjectBase()
    715715    , m_iValue(0)
     
    719719
    720720/** Copy constructor. */
    721 RTCRestInt16::RTCRestInt16(RTCRestInt16 const &a_rThat)
     721RTCRestInt16::RTCRestInt16(RTCRestInt16 const &a_rThat) RT_NOEXCEPT
    722722    : RTCRestObjectBase(a_rThat)
    723723    , m_iValue(a_rThat.m_iValue)
     
    727727
    728728/** From value constructor. */
    729 RTCRestInt16::RTCRestInt16(int16_t iValue)
     729RTCRestInt16::RTCRestInt16(int16_t iValue) RT_NOEXCEPT
    730730    : RTCRestObjectBase()
    731731    , m_iValue(iValue)
     
    742742
    743743/** Copy assignment operator. */
    744 RTCRestInt16 &RTCRestInt16::operator=(RTCRestInt16 const &a_rThat)
     744RTCRestInt16 &RTCRestInt16::operator=(RTCRestInt16 const &a_rThat) RT_NOEXCEPT
    745745{
    746746    m_fNullIndicator = a_rThat.m_fNullIndicator;
     
    750750
    751751
    752 int RTCRestInt16::assignCopy(RTCRestInt16 const &a_rThat)
     752int RTCRestInt16::assignCopy(RTCRestInt16 const &a_rThat) RT_NOEXCEPT
    753753{
    754754    m_fNullIndicator = a_rThat.m_fNullIndicator;
     
    758758
    759759
    760 void RTCRestInt16::assignValue(int16_t a_iValue)
     760void RTCRestInt16::assignValue(int16_t a_iValue) RT_NOEXCEPT
    761761{
    762762    m_iValue = a_iValue;
     
    765765
    766766
    767 RTCRestObjectBase *RTCRestInt16::baseClone() const
     767RTCRestObjectBase *RTCRestInt16::baseClone() const RT_NOEXCEPT
    768768{
    769769    return new (std::nothrow) RTCRestInt16(*this);
     
    771771
    772772
    773 int RTCRestInt16::resetToDefault()
     773int RTCRestInt16::resetToDefault() RT_NOEXCEPT
    774774{
    775775    m_iValue = 0;
     
    779779
    780780
    781 RTCRestOutputBase &RTCRestInt16::serializeAsJson(RTCRestOutputBase &a_rDst) const
     781RTCRestOutputBase &RTCRestInt16::serializeAsJson(RTCRestOutputBase &a_rDst) const RT_NOEXCEPT
    782782{
    783783    if (!m_fNullIndicator)
     
    789789
    790790
    791 int RTCRestInt16::deserializeFromJson(RTCRestJsonCursor const &a_rCursor)
     791int RTCRestInt16::deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT
    792792{
    793793    m_iValue = 0;
     
    824824
    825825
    826 int RTCRestInt16::toString(RTCString *a_pDst, uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) const
     826int RTCRestInt16::toString(RTCString *a_pDst, uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) const RT_NOEXCEPT
    827827{
    828828    if (!(a_fFlags & kToString_Append))
     
    839839
    840840int RTCRestInt16::fromString(RTCString const &a_rValue, const char *a_pszName, PRTERRINFO a_pErrInfo /*= NULL*/,
    841                              uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/)
     841                             uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) RT_NOEXCEPT
    842842{
    843843    RT_NOREF(a_fFlags);
     
    862862
    863863
    864 RTCRestObjectBase::kTypeClass RTCRestInt16::typeClass() const
     864RTCRestObjectBase::kTypeClass RTCRestInt16::typeClass() const RT_NOEXCEPT
    865865{
    866866    return kTypeClass_Int16;
     
    868868
    869869
    870 const char *RTCRestInt16::typeName() const
     870const char *RTCRestInt16::typeName() const RT_NOEXCEPT
    871871{
    872872    return "int16_t";
     
    880880
    881881/** Factory method. */
    882 /*static*/ DECLCALLBACK(RTCRestObjectBase *) RTCRestDouble::createInstance(void)
     882/*static*/ DECLCALLBACK(RTCRestObjectBase *) RTCRestDouble::createInstance(void) RT_NOEXCEPT
    883883{
    884884    return new (std::nothrow) RTCRestDouble();
     
    890890 */
    891891/*static*/ DECLCALLBACK(int)
    892 RTCRestDouble::deserializeInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance)
     892RTCRestDouble::deserializeInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance) RT_NOEXCEPT
    893893{
    894894    RTCRestObjectBase *pObj = createInstance();
     
    901901
    902902/** Default constructor. */
    903 RTCRestDouble::RTCRestDouble()
     903RTCRestDouble::RTCRestDouble() RT_NOEXCEPT
    904904    : RTCRestObjectBase()
    905905    , m_rdValue(0.0)
     
    909909
    910910/** Copy constructor. */
    911 RTCRestDouble::RTCRestDouble(RTCRestDouble const &a_rThat)
     911RTCRestDouble::RTCRestDouble(RTCRestDouble const &a_rThat) RT_NOEXCEPT
    912912    : RTCRestObjectBase(a_rThat)
    913913    , m_rdValue(a_rThat.m_rdValue)
     
    917917
    918918/** From value constructor. */
    919 RTCRestDouble::RTCRestDouble(double rdValue)
     919RTCRestDouble::RTCRestDouble(double rdValue) RT_NOEXCEPT
    920920    : RTCRestObjectBase()
    921921    , m_rdValue(rdValue)
     
    932932
    933933/** Copy assignment operator. */
    934 RTCRestDouble &RTCRestDouble::operator=(RTCRestDouble const &a_rThat)
     934RTCRestDouble &RTCRestDouble::operator=(RTCRestDouble const &a_rThat) RT_NOEXCEPT
    935935{
    936936    m_fNullIndicator = a_rThat.m_fNullIndicator;
     
    940940
    941941
    942 int RTCRestDouble::assignCopy(RTCRestDouble const &a_rThat)
     942int RTCRestDouble::assignCopy(RTCRestDouble const &a_rThat) RT_NOEXCEPT
    943943{
    944944    m_fNullIndicator = a_rThat.m_fNullIndicator;
     
    948948
    949949
    950 void RTCRestDouble::assignValue(double a_rdValue)
     950void RTCRestDouble::assignValue(double a_rdValue) RT_NOEXCEPT
    951951{
    952952    m_rdValue = a_rdValue;
     
    955955
    956956
    957 RTCRestObjectBase *RTCRestDouble::baseClone() const
     957RTCRestObjectBase *RTCRestDouble::baseClone() const RT_NOEXCEPT
    958958{
    959959    return new (std::nothrow) RTCRestDouble(*this);
     
    961961
    962962
    963 int RTCRestDouble::resetToDefault()
     963int RTCRestDouble::resetToDefault() RT_NOEXCEPT
    964964{
    965965    m_rdValue = 0.0;
     
    969969
    970970
    971 RTCRestOutputBase &RTCRestDouble::serializeAsJson(RTCRestOutputBase &a_rDst) const
     971RTCRestOutputBase &RTCRestDouble::serializeAsJson(RTCRestOutputBase &a_rDst) const RT_NOEXCEPT
    972972{
    973973    if (!m_fNullIndicator)
     
    995995
    996996
    997 int RTCRestDouble::deserializeFromJson(RTCRestJsonCursor const &a_rCursor)
     997int RTCRestDouble::deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT
    998998{
    999999    m_rdValue = 0.0;
     
    10381038
    10391039
    1040 int RTCRestDouble::toString(RTCString *a_pDst, uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) const
     1040int RTCRestDouble::toString(RTCString *a_pDst, uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) const RT_NOEXCEPT
    10411041{
    10421042    if (!m_fNullIndicator)
     
    10671067
    10681068int RTCRestDouble::fromString(RTCString const &a_rValue, const char *a_pszName, PRTERRINFO a_pErrInfo /*= NULL*/,
    1069                               uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/)
     1069                              uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) RT_NOEXCEPT
    10701070{
    10711071    RT_NOREF(a_fFlags);
     
    11061106
    11071107
    1108 RTCRestObjectBase::kTypeClass RTCRestDouble::typeClass() const
     1108RTCRestObjectBase::kTypeClass RTCRestDouble::typeClass() const RT_NOEXCEPT
    11091109{
    11101110    return kTypeClass_Double;
     
    11121112
    11131113
    1114 const char *RTCRestDouble::typeName() const
     1114const char *RTCRestDouble::typeName() const RT_NOEXCEPT
    11151115{
    11161116    return "double";
     
    11241124
    11251125/** Factory method. */
    1126 /*static*/ DECLCALLBACK(RTCRestObjectBase *) RTCRestString::createInstance(void)
     1126/*static*/ DECLCALLBACK(RTCRestObjectBase *) RTCRestString::createInstance(void) RT_NOEXCEPT
    11271127{
    11281128    return new (std::nothrow) RTCRestString();
     
    11341134 */
    11351135/*static*/ DECLCALLBACK(int)
    1136 RTCRestString::deserializeInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance)
     1136RTCRestString::deserializeInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance) RT_NOEXCEPT
    11371137{
    11381138    RTCRestObjectBase *pObj = createInstance();
     
    11451145
    11461146/** Default constructor. */
    1147 RTCRestString::RTCRestString()
     1147RTCRestString::RTCRestString() RT_NOEXCEPT
    11481148    : RTCRestObjectBase()
    11491149    , RTCString()
     
    11821182
    11831183
    1184 int RTCRestString::assignCopy(RTCRestString const &a_rThat)
     1184int RTCRestString::assignCopy(RTCRestString const &a_rThat) RT_NOEXCEPT
    11851185{
    11861186    int rc = assignNoThrow(a_rThat);
     
    11901190
    11911191
    1192 int RTCRestString::assignCopy(RTCString const &a_rThat)
     1192int RTCRestString::assignCopy(RTCString const &a_rThat) RT_NOEXCEPT
    11931193{
    11941194    m_fNullIndicator = false;
     
    11971197
    11981198
    1199 int RTCRestString::assignCopy(const char *a_pszThat)
     1199int RTCRestString::assignCopy(const char *a_pszThat) RT_NOEXCEPT
    12001200{
    12011201    m_fNullIndicator = false;
     
    12041204
    12051205
    1206 int RTCRestString::setNull()
     1206int RTCRestString::setNull() RT_NOEXCEPT
    12071207{
    12081208    RTCString::setNull();
     
    12121212
    12131213
    1214 RTCRestObjectBase *RTCRestString::baseClone() const
     1214RTCRestObjectBase *RTCRestString::baseClone() const RT_NOEXCEPT
    12151215{
    12161216    RTCRestString *pClone = new (std::nothrow) RTCRestString();
     
    12261226
    12271227
    1228 int RTCRestString::resetToDefault()
     1228int RTCRestString::resetToDefault() RT_NOEXCEPT
    12291229{
    12301230    RTCString::setNull();
     
    12341234
    12351235
    1236 RTCRestOutputBase &RTCRestString::serializeAsJson(RTCRestOutputBase &a_rDst) const
     1236RTCRestOutputBase &RTCRestString::serializeAsJson(RTCRestOutputBase &a_rDst) const RT_NOEXCEPT
    12371237{
    12381238    if (!m_fNullIndicator)
     
    12441244
    12451245
    1246 int RTCRestString::deserializeFromJson(RTCRestJsonCursor const &a_rCursor)
     1246int RTCRestString::deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT
    12471247{
    12481248    m_fNullIndicator = false;
     
    12721272
    12731273
    1274 int RTCRestString::toString(RTCString *a_pDst, uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) const
     1274int RTCRestString::toString(RTCString *a_pDst, uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) const RT_NOEXCEPT
    12751275{
    12761276    /* Note! m_fNullIndicator == true: empty string. */
     
    12821282
    12831283int RTCRestString::fromString(RTCString const &a_rValue, const char *a_pszName, PRTERRINFO a_pErrInfo /*= NULL*/,
    1284                               uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/)
     1284                              uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) RT_NOEXCEPT
    12851285{
    12861286    RT_NOREF(a_fFlags); RT_NOREF(a_pszName); RT_NOREF(a_pErrInfo);
     
    12921292
    12931293
    1294 RTCRestObjectBase::kTypeClass RTCRestString::typeClass() const
     1294RTCRestObjectBase::kTypeClass RTCRestString::typeClass() const RT_NOEXCEPT
    12951295{
    12961296    return kTypeClass_String;
     
    12981298
    12991299
    1300 const char *RTCRestString::typeName() const
     1300const char *RTCRestString::typeName() const RT_NOEXCEPT
    13011301{
    13021302    return "RTCString";
     
    14441444*   RTCRestDate implementation                                                                                                   *
    14451445*********************************************************************************************************************************/
    1446 /*static*/ DECLCALLBACK(RTCRestObjectBase *) RTCRestDate::createInstance(void)
     1446/*static*/ DECLCALLBACK(RTCRestObjectBase *) RTCRestDate::createInstance(void) RT_NOEXCEPT
    14471447{
    14481448    return new (std::nothrow) RTCRestDate();
     
    14541454 */
    14551455/*static*/ DECLCALLBACK(int)
    1456 RTCRestDate::deserializeInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance)
     1456RTCRestDate::deserializeInstanceFromJson(RTCRestJsonCursor const &a_rCursor, RTCRestObjectBase **a_ppInstance) RT_NOEXCEPT
    14571457{
    14581458    RTCRestObjectBase *pObj = createInstance();
     
    14641464
    14651465
    1466 RTCRestDate::RTCRestDate()
     1466RTCRestDate::RTCRestDate() RT_NOEXCEPT
    14671467    : RTCRestObjectBase()
    14681468    , m_fTimeSpecOkay(false)
     
    15071507
    15081508
    1509 int RTCRestDate::assignCopy(RTCRestDate const &a_rThat)
     1509int RTCRestDate::assignCopy(RTCRestDate const &a_rThat) RT_NOEXCEPT
    15101510{
    15111511    m_fNullIndicator = a_rThat.m_fNullIndicator;
     
    15181518
    15191519
    1520 RTCRestObjectBase *RTCRestDate::baseClone() const
     1520RTCRestObjectBase *RTCRestDate::baseClone() const RT_NOEXCEPT
    15211521{
    15221522    RTCRestDate *pClone = new (std::nothrow) RTCRestDate();
     
    15321532
    15331533
    1534 int RTCRestDate::resetToDefault()
     1534int RTCRestDate::resetToDefault() RT_NOEXCEPT
    15351535{
    15361536    m_fNullIndicator = true;
     
    15441544
    15451545
    1546 RTCRestOutputBase &RTCRestDate::serializeAsJson(RTCRestOutputBase &a_rDst) const
     1546RTCRestOutputBase &RTCRestDate::serializeAsJson(RTCRestOutputBase &a_rDst) const RT_NOEXCEPT
    15471547{
    15481548    if (m_fNullIndicator)
     
    15541554
    15551555
    1556 int RTCRestDate::deserializeFromJson(RTCRestJsonCursor const &a_rCursor)
     1556int RTCRestDate::deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT
    15571557{
    15581558    setNull();
     
    15861586
    15871587
    1588 int RTCRestDate::toString(RTCString *a_pDst, uint32_t a_fFlags /*= 0*/) const
     1588int RTCRestDate::toString(RTCString *a_pDst, uint32_t a_fFlags /*= 0*/) const RT_NOEXCEPT
    15891589{
    15901590    if (m_fNullIndicator)
     
    16011601
    16021602int RTCRestDate::fromString(RTCString const &a_rValue, const char *a_pszName, PRTERRINFO a_pErrInfo /*= NULL*/,
    1603                             uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/)
     1603                            uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) RT_NOEXCEPT
    16041604{
    16051605    setNull();
     
    16261626
    16271627
    1628 RTCRestObjectBase::kTypeClass RTCRestDate::typeClass(void) const
     1628RTCRestObjectBase::kTypeClass RTCRestDate::typeClass(void) const RT_NOEXCEPT
    16291629{
    16301630    return kTypeClass_Date;
     
    16321632
    16331633
    1634 const char *RTCRestDate::typeName(void) const
     1634const char *RTCRestDate::typeName(void) const RT_NOEXCEPT
    16351635{
    16361636    return "RTCRestDate";
     
    16381638
    16391639
    1640 int RTCRestDate::assignValue(PCRTTIMESPEC a_pTimeSpec, kFormat a_enmFormat)
     1640int RTCRestDate::assignValue(PCRTTIMESPEC a_pTimeSpec, kFormat a_enmFormat) RT_NOEXCEPT
    16411641{
    16421642    AssertPtrReturn(a_pTimeSpec, VERR_INVALID_PARAMETER);
     
    16481648
    16491649
    1650 int RTCRestDate::assignValueRfc2822(PCRTTIMESPEC a_pTimeSpec)
     1650int RTCRestDate::assignValueRfc2822(PCRTTIMESPEC a_pTimeSpec) RT_NOEXCEPT
    16511651{
    16521652    AssertPtrReturn(a_pTimeSpec, VERR_INVALID_PARAMETER);
     
    16561656
    16571657
    1658 int RTCRestDate::assignValueRfc7131(PCRTTIMESPEC a_pTimeSpec)
     1658int RTCRestDate::assignValueRfc7131(PCRTTIMESPEC a_pTimeSpec) RT_NOEXCEPT
    16591659{
    16601660    AssertPtrReturn(a_pTimeSpec, VERR_INVALID_PARAMETER);
     
    16641664
    16651665
    1666 int RTCRestDate::assignValueRfc3339(PCRTTIMESPEC a_pTimeSpec)
     1666int RTCRestDate::assignValueRfc3339(PCRTTIMESPEC a_pTimeSpec) RT_NOEXCEPT
    16671667{
    16681668    AssertPtrReturn(a_pTimeSpec, VERR_INVALID_PARAMETER);
     
    16721672
    16731673
    1674 int RTCRestDate::assignNow(kFormat a_enmFormat)
     1674int RTCRestDate::assignNow(kFormat a_enmFormat) RT_NOEXCEPT
    16751675{
    16761676    RTTIMESPEC Now;
     
    16791679
    16801680
    1681 int RTCRestDate::assignNowRfc2822()
     1681int RTCRestDate::assignNowRfc2822() RT_NOEXCEPT
    16821682{
    16831683    RTTIMESPEC Now;
     
    16861686
    16871687
    1688 int RTCRestDate::assignNowRfc7131()
     1688int RTCRestDate::assignNowRfc7131() RT_NOEXCEPT
    16891689{
    16901690    RTTIMESPEC Now;
     
    16931693
    16941694
    1695 int RTCRestDate::assignNowRfc3339()
     1695int RTCRestDate::assignNowRfc3339() RT_NOEXCEPT
    16961696{
    16971697    RTTIMESPEC Now;
     
    17001700
    17011701
    1702 int RTCRestDate::setFormat(kFormat a_enmFormat)
     1702int RTCRestDate::setFormat(kFormat a_enmFormat) RT_NOEXCEPT
    17031703{
    17041704    /*
     
    17311731
    17321732
    1733 int RTCRestDate::explodeAndFormat(kFormat a_enmFormat)
     1733int RTCRestDate::explodeAndFormat(kFormat a_enmFormat) RT_NOEXCEPT
    17341734{
    17351735    RTTimeExplode(&m_Exploded, &m_TimeSpec);
     
    17461746 * @param   a_enmFormat The format to use.
    17471747 */
    1748 int RTCRestDate::format(kFormat a_enmFormat)
     1748int RTCRestDate::format(kFormat a_enmFormat) RT_NOEXCEPT
    17491749{
    17501750    m_fNullIndicator = false;
     
    17951795 * @param   enmFormat   Specific format to try, kFormat_Invalid (default) to try guess it.
    17961796 */
    1797 int RTCRestDate::decodeFormattedString(kFormat enmFormat /*= kFormat_Invalid*/)
     1797int RTCRestDate::decodeFormattedString(kFormat enmFormat /*= kFormat_Invalid*/) RT_NOEXCEPT
    17981798{
    17991799    /*
     
    19041904
    19051905/** Default constructor. */
    1906 RTCRestStringEnumBase::RTCRestStringEnumBase()
     1906RTCRestStringEnumBase::RTCRestStringEnumBase() RT_NOEXCEPT
    19071907    : RTCRestObjectBase()
    19081908    , m_iEnumValue(0 /*invalid*/)
     
    19381938
    19391939
    1940 int RTCRestStringEnumBase::assignCopy(RTCRestStringEnumBase const &a_rThat)
     1940int RTCRestStringEnumBase::assignCopy(RTCRestStringEnumBase const &a_rThat) RT_NOEXCEPT
    19411941{
    19421942    m_fNullIndicator = a_rThat.m_fNullIndicator;
     
    19461946
    19471947
    1948 int RTCRestStringEnumBase::resetToDefault()
     1948int RTCRestStringEnumBase::resetToDefault() RT_NOEXCEPT
    19491949{
    19501950    m_iEnumValue = 0; /*invalid*/
     
    19541954
    19551955
    1956 RTCRestOutputBase &RTCRestStringEnumBase::serializeAsJson(RTCRestOutputBase &a_rDst) const
     1956RTCRestOutputBase &RTCRestStringEnumBase::serializeAsJson(RTCRestOutputBase &a_rDst) const RT_NOEXCEPT
    19571957{
    19581958    if (!m_fNullIndicator)
     
    19641964
    19651965
    1966 int RTCRestStringEnumBase::deserializeFromJson(RTCRestJsonCursor const &a_rCursor)
     1966int RTCRestStringEnumBase::deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT
    19671967{
    19681968    m_fNullIndicator = false;
     
    19921992
    19931993
    1994 int RTCRestStringEnumBase::toString(RTCString *a_pDst, uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) const
     1994int RTCRestStringEnumBase::toString(RTCString *a_pDst, uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) const RT_NOEXCEPT
    19951995{
    19961996    if (!m_fNullIndicator)
     
    20182018
    20192019int RTCRestStringEnumBase::fromString(RTCString const &a_rValue, const char *a_pszName, PRTERRINFO a_pErrInfo /*= NULL*/,
    2020                                       uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/)
     2020                                      uint32_t a_fFlags /*= kCollectionFormat_Unspecified*/) RT_NOEXCEPT
    20212021{
    20222022    int iEnumValue = stringToEnum(a_rValue);
     
    20472047
    20482048
    2049 RTCRestObjectBase::kTypeClass RTCRestStringEnumBase::typeClass(void) const
     2049RTCRestObjectBase::kTypeClass RTCRestStringEnumBase::typeClass(void) const RT_NOEXCEPT
    20502050{
    20512051    return kTypeClass_StringEnum;
     
    20532053
    20542054
    2055 int RTCRestStringEnumBase::setByString(const char *a_pszValue, size_t a_cchValue /*= RTSTR_MAX*/)
     2055int RTCRestStringEnumBase::setByString(const char *a_pszValue, size_t a_cchValue /*= RTSTR_MAX*/) RT_NOEXCEPT
    20562056{
    20572057    if (a_cchValue == RTSTR_MAX)
     
    20742074
    20752075
    2076 int RTCRestStringEnumBase::setByString(RTCString const &a_rValue)
     2076int RTCRestStringEnumBase::setByString(RTCString const &a_rValue) RT_NOEXCEPT
    20772077{
    20782078    return setByString(a_rValue.c_str(), a_rValue.length());
     
    20802080
    20812081
    2082 const char *RTCRestStringEnumBase::getString() const
     2082const char *RTCRestStringEnumBase::getString() const RT_NOEXCEPT
    20832083{
    20842084    /* We ASSUME a certain mapping table layout here.  */
     
    21002100
    21012101
    2102 int RTCRestStringEnumBase::stringToEnum(const char *a_pszValue, size_t a_cchValue)
     2102int RTCRestStringEnumBase::stringToEnum(const char *a_pszValue, size_t a_cchValue) RT_NOEXCEPT
    21032103{
    21042104    if (a_cchValue == RTSTR_MAX)
     
    21152115
    21162116
    2117 int RTCRestStringEnumBase::stringToEnum(RTCString const &a_rStrValue)
     2117int RTCRestStringEnumBase::stringToEnum(RTCString const &a_rStrValue) RT_NOEXCEPT
    21182118{
    21192119    return stringToEnum(a_rStrValue.c_str(), a_rStrValue.length());
     
    21212121
    21222122
    2123 const char *RTCRestStringEnumBase::enumToString(int a_iEnumValue, size_t *a_pcchString)
     2123const char *RTCRestStringEnumBase::enumToString(int a_iEnumValue, size_t *a_pcchString) RT_NOEXCEPT
    21242124{
    21252125    /* We ASSUME a certain mapping table layout here.  */
     
    21472147
    21482148
    2149 bool RTCRestStringEnumBase::setWorker(int a_iEnumValue)
     2149bool RTCRestStringEnumBase::setWorker(int a_iEnumValue) RT_NOEXCEPT
    21502150{
    21512151    /* We ASSUME a certain mapping table layout here.  */
     
    21682168
    21692169
    2170 RTCRestObjectBase  *RTCRestStringEnumBase::cloneWorker(RTCRestStringEnumBase *a_pDst) const
     2170RTCRestObjectBase  *RTCRestStringEnumBase::cloneWorker(RTCRestStringEnumBase *a_pDst) const RT_NOEXCEPT
    21712171{
    21722172    if (a_pDst)
     
    21862186*********************************************************************************************************************************/
    21872187
    2188 RTCRestDataObject::RTCRestDataObject()
     2188RTCRestDataObject::RTCRestDataObject() RT_NOEXCEPT
    21892189    : RTCRestObjectBase()
    21902190    , m_fIsSet(0)
     
    21982198
    21992199
    2200 RTCRestDataObject::RTCRestDataObject(RTCRestDataObject const &a_rThat)
     2200RTCRestDataObject::RTCRestDataObject(RTCRestDataObject const &a_rThat) RT_NOEXCEPT
    22012201    : RTCRestObjectBase(a_rThat)
    22022202    , m_fIsSet(a_rThat.m_fIsSet)
     
    22052205
    22062206
    2207 RTCRestDataObject &RTCRestDataObject::operator=(RTCRestDataObject const &a_rThat)
     2207RTCRestDataObject &RTCRestDataObject::operator=(RTCRestDataObject const &a_rThat) RT_NOEXCEPT
    22082208{
    22092209    m_fNullIndicator = a_rThat.m_fNullIndicator;
     
    22132213
    22142214
    2215 int RTCRestDataObject::assignCopy(RTCRestDataObject const &a_rThat)
     2215int RTCRestDataObject::assignCopy(RTCRestDataObject const &a_rThat) RT_NOEXCEPT
    22162216{
    22172217    m_fNullIndicator = a_rThat.m_fNullIndicator;
     
    22212221
    22222222
    2223 int RTCRestDataObject::resetToDefault()
     2223int RTCRestDataObject::resetToDefault() RT_NOEXCEPT
    22242224{
    22252225    m_fNullIndicator = false;
     
    22292229
    22302230
    2231 RTCRestOutputBase &RTCRestDataObject::serializeMembersAsJson(RTCRestOutputBase &a_rDst) const
     2231RTCRestOutputBase &RTCRestDataObject::serializeMembersAsJson(RTCRestOutputBase &a_rDst) const RT_NOEXCEPT
    22322232{
    22332233    RT_NOREF(a_rDst);
     
    22362236
    22372237
    2238 RTCRestOutputBase &RTCRestDataObject::serializeAsJson(RTCRestOutputBase &a_rDst) const
     2238RTCRestOutputBase &RTCRestDataObject::serializeAsJson(RTCRestOutputBase &a_rDst) const RT_NOEXCEPT
    22392239{
    22402240    if (!m_fNullIndicator)
     
    22502250
    22512251
    2252 int RTCRestDataObject::deserializeMemberFromJson(RTCRestJsonCursor const &a_rCursor, size_t a_cchName)
     2252int RTCRestDataObject::deserializeMemberFromJson(RTCRestJsonCursor const &a_rCursor, size_t a_cchName) RT_NOEXCEPT
    22532253{
    22542254    RT_NOREF(a_rCursor, a_cchName);
     
    22572257
    22582258
    2259 int RTCRestDataObject::deserializeFromJson(RTCRestJsonCursor const &a_rCursor)
     2259int RTCRestDataObject::deserializeFromJson(RTCRestJsonCursor const &a_rCursor) RT_NOEXCEPT
    22602260{
    22612261    /*
     
    23322332
    23332333
    2334 RTCRestObjectBase::kTypeClass RTCRestDataObject::typeClass(void) const
     2334RTCRestObjectBase::kTypeClass RTCRestDataObject::typeClass(void) const RT_NOEXCEPT
    23352335{
    23362336    return kTypeClass_DataObject;
     
    23432343*********************************************************************************************************************************/
    23442344
    2345 RTCRestPolyDataObject::RTCRestPolyDataObject()
     2345RTCRestPolyDataObject::RTCRestPolyDataObject() RT_NOEXCEPT
    23462346    : RTCRestDataObject()
    23472347{
     
    23492349
    23502350
    2351 RTCRestPolyDataObject::RTCRestPolyDataObject(RTCRestPolyDataObject const &a_rThat)
     2351RTCRestPolyDataObject::RTCRestPolyDataObject(RTCRestPolyDataObject const &a_rThat) RT_NOEXCEPT
    23522352    : RTCRestDataObject(a_rThat)
    23532353{
     
    23602360
    23612361
    2362 int RTCRestPolyDataObject::resetToDefault()
     2362int RTCRestPolyDataObject::resetToDefault() RT_NOEXCEPT
    23632363{
    23642364    return RTCRestDataObject::resetToDefault();
     
    23662366
    23672367
    2368 bool RTCRestPolyDataObject::isChild() const
     2368bool RTCRestPolyDataObject::isChild() const RT_NOEXCEPT
    23692369{
    23702370    return false;
     
    23722372
    23732373
    2374 RTCRestPolyDataObject &RTCRestPolyDataObject::operator=(RTCRestPolyDataObject const &a_rThat)
     2374RTCRestPolyDataObject &RTCRestPolyDataObject::operator=(RTCRestPolyDataObject const &a_rThat) RT_NOEXCEPT
    23752375{
    23762376    RTCRestDataObject::operator=(a_rThat);
  • trunk/src/VBox/Runtime/testcase/tstRTCRest-1.cpp

    r74414 r74425  
    19971997    }
    19981998
    1999     int resetToDefault() RT_OVERRIDE
     1999    int resetToDefault() RT_NOEXCEPT RT_OVERRIDE
    20002000    {
    20012001        m_strValue = "";
     
    20042004    }
    20052005
    2006     int xmitPrepare(RTCString *a_pStrPath, RTCString *a_pStrQuery, RTHTTP a_hHttp, RTCString *a_pStrBody) const RT_OVERRIDE
     2006    int xmitPrepare(RTCString *a_pStrPath, RTCString *a_pStrQuery, RTHTTP a_hHttp, RTCString *a_pStrBody) const RT_NOEXCEPT RT_OVERRIDE
    20072007    {
    20082008        RT_NOREF(a_pStrPath, a_pStrQuery, a_hHttp, a_pStrBody);
     
    20102010    }
    20112011
    2012     void xmitComplete(int a_rcStatus, RTHTTP a_hHttp) const RT_OVERRIDE
     2012    void xmitComplete(int a_rcStatus, RTHTTP a_hHttp) const RT_NOEXCEPT RT_OVERRIDE
    20132013    {
    20142014        RT_NOREF(a_rcStatus, a_hHttp);
     
    21492149protected:
    21502150    virtual int consumeHeader(uint32_t a_uMatchWord, const char *a_pchField, size_t a_cchField,
    2151                               const char *a_pchValue, size_t a_cchValue) RT_OVERRIDE
     2151                              const char *a_pchValue, size_t a_cchValue) RT_NOEXCEPT RT_OVERRIDE
    21522152    {
    21532153        int rc = RTCRestClientResponseBase::consumeHeader(a_uMatchWord, a_pchField, a_cchField, a_pchValue, a_cchValue);
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette