template <size_t inline_target_size>

class generic_function_base

Defined at line 253 of file ../../sdk/lib/fit/include/lib/fit/internal/function.h

Function implementation details shared by all functions, regardless of

signature. This class is aligned based on inline_target_size and max_align_t

so that the target storage (bits_, the first class member) has correct

alignment.

See |fit::function| and |fit::callback| documentation for more information.

Public Methods

void generic_function_base<inline_target_size> (const generic_function_base<inline_target_size> & other)

Deleted copy constructor and assign. |generic_function_base|

implementations are move-only.

Defined at line 276 of file ../../sdk/lib/fit/include/lib/fit/internal/function.h

generic_function_base<inline_target_size> & operator= (const generic_function_base<inline_target_size> & other)

Defined at line 277 of file ../../sdk/lib/fit/include/lib/fit/internal/function.h

generic_function_base<inline_target_size> & operator= (generic_function_base<inline_target_size> && other)

Move assignment must be provided by subclasses.

Defined at line 280 of file ../../sdk/lib/fit/include/lib/fit/internal/function.h

Protected Methods

void generic_function_base<inline_target_size> ()

Defined at line 283 of file ../../sdk/lib/fit/include/lib/fit/internal/function.h

void generic_function_base<inline_target_size> (generic_function_base<inline_target_size> && other)

Defined at line 285 of file ../../sdk/lib/fit/include/lib/fit/internal/function.h

void ~generic_function_base<inline_target_size> ()

Defined at line 287 of file ../../sdk/lib/fit/include/lib/fit/internal/function.h

bool operator bool ()

Returns true if the function has a non-empty target.

Defined at line 290 of file ../../sdk/lib/fit/include/lib/fit/internal/function.h

void assign_null ()

Used by derived "impl" classes to implement operator=().

Assigns an empty target.

Defined at line 294 of file ../../sdk/lib/fit/include/lib/fit/internal/function.h

void assign_function (generic_function_base<inline_target_size> && other)

Used by derived "impl" classes to implement operator=().

Assigns the function with a target moved from another function,

leaving the other function with an empty target.

Defined at line 302 of file ../../sdk/lib/fit/include/lib/fit/internal/function.h

void swap (generic_function_base<inline_target_size> & other)

Defined at line 307 of file ../../sdk/lib/fit/include/lib/fit/internal/function.h

void destroy_target ()

leaves target uninitialized

Defined at line 324 of file ../../sdk/lib/fit/include/lib/fit/internal/function.h

void initialize_null_target ()

assumes target is uninitialized

Defined at line 327 of file ../../sdk/lib/fit/include/lib/fit/internal/function.h

void * bits ()

Allow function_base to directly access bits_ and ops_ when needed.

Defined at line 330 of file ../../sdk/lib/fit/include/lib/fit/internal/function.h

const base_target_ops * ops ()

Defined at line 331 of file ../../sdk/lib/fit/include/lib/fit/internal/function.h

void set_ops (const base_target_ops * new_ops)

Defined at line 332 of file ../../sdk/lib/fit/include/lib/fit/internal/function.h