Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Typedefs | Functions
v8-fast-api-calls.h File Reference
#include <stddef.h>
#include <stdint.h>
#include <tuple>
#include <type_traits>
#include "v8-internal.h"
#include "v8-local-handle.h"
#include "v8-typed-array.h"
#include "v8-value.h"
#include "v8config.h"
Include dependency graph for v8-fast-api-calls.h:

Go to the source code of this file.

Classes

class  v8::CTypeInfo
 
struct  v8::FastApiTypedArrayBase
 
struct  v8::FastApiTypedArray< T >
 
struct  v8::FastApiArrayBufferView
 
struct  v8::FastApiArrayBuffer
 
struct  v8::FastOneByteString
 
class  v8::CFunctionInfo
 
union  v8::AnyCType
 
class  v8::CFunction
 
struct  v8::FastApiCallbackOptions
 
struct  v8::internal::count< T, List >
 
struct  v8::internal::count< T, T, Args... >
 
struct  v8::internal::count< T, U, Args... >
 
class  v8::internal::CFunctionInfoImpl< Representation, RetBuilder, ArgBuilders >
 
struct  v8::internal::TypeInfoHelper< T >
 
struct  v8::internal::CTypeInfoTraits< type >
 
struct  v8::internal::TypeInfoHelper< bool >
 
struct  v8::internal::TypeInfoHelper< uint8_t >
 
struct  v8::internal::TypeInfoHelper< int32_t >
 
struct  v8::internal::TypeInfoHelper< uint32_t >
 
struct  v8::internal::TypeInfoHelper< int64_t >
 
struct  v8::internal::TypeInfoHelper< uint64_t >
 
struct  v8::internal::TypeInfoHelper< float >
 
struct  v8::internal::TypeInfoHelper< double >
 
struct  v8::internal::TypeInfoHelper< void * >
 
struct  v8::internal::TypeInfoHelper< void >
 
struct  v8::internal::TypeInfoHelper< v8::Local< v8::Value > >
 
struct  v8::internal::TypeInfoHelper< v8::Local< v8::Object > >
 
struct  v8::internal::TypeInfoHelper< AnyCType >
 
struct  v8::internal::CTypeInfoTraits< CTypeInfo::Type::kBool >
 
struct  v8::internal::CTypeInfoTraits< CTypeInfo::Type::kUint8 >
 
struct  v8::internal::CTypeInfoTraits< CTypeInfo::Type::kInt32 >
 
struct  v8::internal::CTypeInfoTraits< CTypeInfo::Type::kUint32 >
 
struct  v8::internal::CTypeInfoTraits< CTypeInfo::Type::kInt64 >
 
struct  v8::internal::CTypeInfoTraits< CTypeInfo::Type::kUint64 >
 
struct  v8::internal::CTypeInfoTraits< CTypeInfo::Type::kFloat32 >
 
struct  v8::internal::CTypeInfoTraits< CTypeInfo::Type::kFloat64 >
 
struct  v8::internal::CTypeInfoTraits< CTypeInfo::Type::kPointer >
 
struct  v8::internal::TypeInfoHelper< const FastApiTypedArray< uint8_t > & >
 
struct  v8::internal::TypeInfoHelper< const FastApiTypedArray< int32_t > & >
 
struct  v8::internal::TypeInfoHelper< const FastApiTypedArray< uint32_t > & >
 
struct  v8::internal::TypeInfoHelper< const FastApiTypedArray< int64_t > & >
 
struct  v8::internal::TypeInfoHelper< const FastApiTypedArray< uint64_t > & >
 
struct  v8::internal::TypeInfoHelper< const FastApiTypedArray< float > & >
 
struct  v8::internal::TypeInfoHelper< const FastApiTypedArray< double > & >
 
struct  v8::internal::TypeInfoHelper< v8::Local< v8::Array > >
 
struct  v8::internal::TypeInfoHelper< v8::Local< v8::Uint32Array > >
 
struct  v8::internal::TypeInfoHelper< FastApiCallbackOptions & >
 
struct  v8::internal::TypeInfoHelper< const FastOneByteString & >
 
class  v8::CTypeInfoBuilder< T, Flags >
 
class  v8::internal::CFunctionBuilderWithFunction< RetBuilder, ArgBuilders >
 
class  v8::internal::CFunctionBuilder
 

Namespaces

namespace  v8
 
namespace  v8::internal
 

Macros

#define SPECIALIZE_GET_TYPE_INFO_HELPER_FOR(T, Enum)
 
#define DEFINE_TYPE_INFO_TRAITS(CType, Enum)
 
#define PRIMITIVE_C_TYPES(V)
 
#define ALL_C_TYPES(V)
 
#define SPECIALIZE_GET_TYPE_INFO_HELPER_FOR_TA(T, Enum)
 
#define TYPED_ARRAY_C_TYPES(V)
 
#define STATIC_ASSERT_IMPLIES(COND, ASSERTION, MSG)    static_assert(((COND) == 0) || (ASSERTION), MSG)
 

Typedefs

using v8::CFunctionBuilder = internal::CFunctionBuilder
 

Functions

template<CTypeInfo::Identifier type_info_id, typename T >
bool v8::TryToCopyAndConvertArrayToCppBuffer (Local< Array > src, T *dst, uint32_t max_length)
 

Macro Definition Documentation

◆ ALL_C_TYPES

#define ALL_C_TYPES (   V)
Value:
V(void, kVoid) \
V(v8::Local<v8::Value>, kV8Value) \
V(v8::Local<v8::Object>, kV8Value) \
V(AnyCType, kAny)
Definition: v8-local-handle.h:258
#define PRIMITIVE_C_TYPES(V)
Definition: v8-fast-api-calls.h:686
#define V(Name)

◆ DEFINE_TYPE_INFO_TRAITS

#define DEFINE_TYPE_INFO_TRAITS (   CType,
  Enum 
)
Value:
template <> \
struct CTypeInfoTraits<CTypeInfo::Type::Enum> { \
using ctype = CType; \
};

◆ PRIMITIVE_C_TYPES

#define PRIMITIVE_C_TYPES (   V)
Value:
V(bool, kBool) \
V(uint8_t, kUint8) \
V(int32_t, kInt32) \
V(uint32_t, kUint32) \
V(int64_t, kInt64) \
V(uint64_t, kUint64) \
V(float, kFloat32) \
V(double, kFloat64) \
V(void*, kPointer)

◆ SPECIALIZE_GET_TYPE_INFO_HELPER_FOR

#define SPECIALIZE_GET_TYPE_INFO_HELPER_FOR (   T,
  Enum 
)
Value:
template <> \
struct TypeInfoHelper<T> { \
static constexpr CTypeInfo::Flags Flags() { \
return CTypeInfo::Flags::kNone; \
} \
\
static constexpr CTypeInfo::Type Type() { return CTypeInfo::Type::Enum; } \
static constexpr CTypeInfo::SequenceType SequenceType() { \
return CTypeInfo::SequenceType::kScalar; \
} \
};

◆ SPECIALIZE_GET_TYPE_INFO_HELPER_FOR_TA

#define SPECIALIZE_GET_TYPE_INFO_HELPER_FOR_TA (   T,
  Enum 
)
Value:
template <> \
struct TypeInfoHelper<const FastApiTypedArray<T>&> { \
static constexpr CTypeInfo::Flags Flags() { \
return CTypeInfo::Flags::kNone; \
} \
\
static constexpr CTypeInfo::Type Type() { return CTypeInfo::Type::Enum; } \
static constexpr CTypeInfo::SequenceType SequenceType() { \
return CTypeInfo::SequenceType::kIsTypedArray; \
} \
};

◆ STATIC_ASSERT_IMPLIES

#define STATIC_ASSERT_IMPLIES (   COND,
  ASSERTION,
  MSG 
)     static_assert(((COND) == 0) || (ASSERTION), MSG)

◆ TYPED_ARRAY_C_TYPES

#define TYPED_ARRAY_C_TYPES (   V)
Value:
V(uint8_t, kUint8) \
V(int32_t, kInt32) \
V(uint32_t, kUint32) \
V(int64_t, kInt64) \
V(uint64_t, kUint64) \
V(float, kFloat32) \
V(double, kFloat64)