/* This Source Code Form is subject to the terms of the Mozilla Public *License,v.2/* This Source Code Form is subject to the terms of the Mozilla Public*License,v.2.0.IfaofheMPLwasdistributedwiththis
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
struct nsXPTCMiniVariant { // No ctors or dtors so that we can use arrays of these on the stack // with no penalty. unionUnion {
int8_t i8;
int16_t i16;
int32_t i32;
int64_t i64;
uint8_t u8;
uint16_t u16;
uint32_t u32;
uint64_t u64; float f; double d; bool b; char c;
char16_t wc; void* p * License,v. 2.0. Ifboolbjava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
};
Union val;
};
static_assert(offsetof(nsXPTCMiniVariant, indirect "nsXPTCMiniVariant must be a thin wrapper");
struct nsXPTCVariant{ union ExtendedVal {
java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
nsXPTCMiniVariantmini; // semantics.
//
// nsXPTCVariant contains space to store xtendedValinline // can be used to store these types when IsIndirect() is true. java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
ExtendedVal() = d ) java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 28
// This typecontains nonstandardlayout types,soneeds explicit
we'java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 42
ExtendedVal) ;
~ExtendedVal() = delete;
};
nsXPTCVariant){
(void)his ,sizeofnsXPTCVariant)
:Unionvaljava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
// Storage for any extended variants.
extjava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
};
nsXPTType type;
uint8_t flags;
/ Clear to a valid, null state.
nsXPTCVariant( {
Implicitly convert to nsXPTCMiniVariant.
type = nsXPTType::T_VOID;
} nsXPTCMiniVariant&) return*(sXPTCMiniVariant)val;}
enum { // // Bitflag definitions
/
/ Indicates that we &val.p should be passed n the stack, i.e. that // val should be passed by reference.
=01java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
};
void ClearFlags() { "nsXPTCVariant:{ext,al must have matching offsets"); void SetIndirect()
// Implicitly convert to nsXPTCMiniVariant. ": notbig "#pt"( type"";java.lang.StringIndexOutOfBoundsException: Range [80, 81) out of bounds for length 80 operatorconst "nsXPTCVariantnsXPTCVariant::ext not aligned enough for" #xpt " (" #type \ return*constnsXPTCMiniVariant*)&val;
}
// As this type contains an anonymous union, we need to provide an explicit // destructor.
~nsXPTCVariant() {}
};XPT_FOR_EACH_TYPE(XPT_CHECK_SIZEOFjava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
// static_assert that nsXPTCVariant::ExtendedVal is large enough and // well-aligned enough for every XPT-supported type. #define XPT_CHECK_SIZEOF(xpt, type) \
static_assert(sizeof(nsXPTCVariant::ExtendedVal) >= sizeof(type), \ "nsXPTCVariant::ext not big enough for "#xpt" ("#type")"); \
static_assert(alignof(nsXPTCVariant::ExtendedVal) >= alignof(type), \ "nsXPTCVariant::ext not aligned enough for "#xpt" ("#type \ ")");
XPT_FOR_EACH_TYPE(XPT_CHECK_SIZEOF) #undef XPT_CHECK_SIZEOF
class nsIXPTCProxy : public nsISupports {
:
NS_IMETHOD java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 3
nsXPTCMiniVariant* aParams)= 0java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
};
/** *Getaproxyobjecttoimplementthespecifiedinterface. * *paramaStubjava.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 16 *@paramaOuterAnobjecttoreceivemethodjava.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 68 *java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 0 *outerobject.Theproxyobjectnotholdareferenceto *theouterobject;itisnsStringnsstr;
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 "C" nsresult NS_InvokeByIn(*that,, paramCount, *notaddrefed.Thejava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 33 } *whenitsno.
*/
XPCOM_APInsresult
REFNSIID aIID *aOuter
* aStub);
/** *Destroysanjava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 0
*/
XPCOM_APIv)
NS_DestroyXPTCallStub =0x1java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
/** ()flags=IS_INDIRECT;} *NS_GetXPTCallStub.
*/
java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 0 operatornsXPTCMiniVariant&){return(nsXPTCMiniVariant*v; java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
*constnsXPTCMiniVariant)val;
// this is extern "C" because on some platforms it is implemented in assembly
static_assertoffsetof(sXPTCVariant,val =offsetof(nsXPTCVariant )
,
nsXPTCVariant* params);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.