#include <openssl/base.h>
#include <openssl/type_check.h>
#include <type_traits>
Go to the source code of this file.
|
template<typename Stack > |
BSSL_NAMESPACE_END bssl::internal::StackIterator< Stack > | begin (const Stack *sk) |
|
template<typename Stack > |
bssl::internal::StackIterator< Stack > | end (const Stack *sk) |
|
template<typename Stack > |
std::enable_if<!internal::StackTraits< Stack >::kIsConst, bool >::type | PushToStack (Stack *sk, UniquePtr< typename internal::StackTraits< Stack >::Type > elem) |
|
OPENSSL_EXPORT _STACK * | sk_deep_copy (const _STACK *sk, void *(*call_copy_func)(stack_copy_func, void *), stack_copy_func copy_func, void(*call_free_func)(stack_free_func, void *), stack_free_func free_func) |
|
OPENSSL_EXPORT void * | sk_delete (_STACK *sk, size_t where) |
|
OPENSSL_EXPORT void * | sk_delete_ptr (_STACK *sk, const void *p) |
|
OPENSSL_EXPORT _STACK * | sk_dup (const _STACK *sk) |
|
OPENSSL_EXPORT int | sk_find (const _STACK *sk, size_t *out_index, const void *p, int(*call_cmp_func)(stack_cmp_func, const void **, const void **)) |
|
OPENSSL_EXPORT void | sk_free (_STACK *sk) |
|
OPENSSL_EXPORT size_t | sk_insert (_STACK *sk, void *p, size_t where) |
|
OPENSSL_EXPORT int | sk_is_sorted (const _STACK *sk) |
|
OPENSSL_EXPORT _STACK * | sk_new (stack_cmp_func comp) |
|
OPENSSL_EXPORT _STACK * | sk_new_null (void) |
|
OPENSSL_EXPORT size_t | sk_num (const _STACK *sk) |
|
OPENSSL_EXPORT void * | sk_pop (_STACK *sk) |
|
OPENSSL_EXPORT void | sk_pop_free (_STACK *sk, stack_free_func free_func) |
|
OPENSSL_EXPORT void | sk_pop_free_ex (_STACK *sk, void(*call_free_func)(stack_free_func, void *), stack_free_func free_func) |
|
OPENSSL_EXPORT size_t | sk_push (_STACK *sk, void *p) |
|
OPENSSL_EXPORT void * | sk_set (_STACK *sk, size_t i, void *p) |
|
OPENSSL_EXPORT stack_cmp_func | sk_set_cmp_func (_STACK *sk, stack_cmp_func comp) |
|
OPENSSL_EXPORT void * | sk_shift (_STACK *sk) |
|
OPENSSL_EXPORT void | sk_sort (_STACK *sk) |
|
OPENSSL_EXPORT void * | sk_value (const _STACK *sk, size_t i) |
|
OPENSSL_EXPORT void | sk_zero (_STACK *sk) |
|
◆ BORINGSSL_DEFINE_STACK_OF_IMPL
#define BORINGSSL_DEFINE_STACK_OF_IMPL |
( |
|
name, |
|
|
|
ptrtype, |
|
|
|
constptrtype |
|
) |
| |
◆ BORINGSSL_DEFINE_STACK_TRAITS
#define BORINGSSL_DEFINE_STACK_TRAITS |
( |
|
name, |
|
|
|
type, |
|
|
|
is_const |
|
) |
| |
Value: extern "C++" { \
BSSL_NAMESPACE_BEGIN \
namespace internal { \
template <> \
static constexpr bool kIsStack = true; \
static constexpr bool kIsConst = is_const; \
}; \
} \
BSSL_NAMESPACE_END \
}
Definition at line 261 of file stack.h.
◆ DECLARE_STACK_OF
◆ DEFINE_CONST_STACK_OF
#define DEFINE_CONST_STACK_OF |
( |
|
type | ) |
|
Value:
BORINGSSL_DEFINE_STACK_TRAITS(
type,
const type,
true)
Definition at line 413 of file stack.h.
◆ DEFINE_NAMED_STACK_OF
#define DEFINE_NAMED_STACK_OF |
( |
|
name, |
|
|
|
type |
|
) |
| |
Value:
BORINGSSL_DEFINE_STACK_TRAITS(
name,
type,
false)
Definition at line 403 of file stack.h.
◆ DEFINE_SPECIAL_STACK_OF
#define DEFINE_SPECIAL_STACK_OF |
( |
|
type | ) |
|
Value:
#
type " is not a pointer"); \
Definition at line 419 of file stack.h.
◆ DEFINE_STACK_OF
◆ STACK_OF
#define STACK_OF |
( |
|
type | ) |
struct stack_st_##type |
◆ _STACK
◆ OPENSSL_STRING
◆ stack_cmp_func
◆ stack_copy_func
typedef void*(* stack_copy_func) (void *ptr) |
◆ stack_free_func
typedef void(* stack_free_func) (void *ptr) |
◆ begin()
template<typename Stack >
◆ end()
template<typename Stack >
bssl::internal::StackIterator<Stack> end |
( |
const Stack * |
sk | ) |
|
|
inline |
◆ PushToStack()
template<typename Stack >
◆ sk_deep_copy()
◆ sk_delete()
◆ sk_delete_ptr()
◆ sk_dup()
◆ sk_find()
◆ sk_free()
◆ sk_insert()
◆ sk_is_sorted()
◆ sk_new()
◆ sk_new_null()
◆ sk_num()
◆ sk_pop()
◆ sk_pop_free()
◆ sk_pop_free_ex()
◆ sk_push()
◆ sk_set()
◆ sk_set_cmp_func()
◆ sk_shift()
◆ sk_sort()
◆ sk_value()
◆ sk_zero()