draft api structure

This commit is contained in:
BlackMATov
2024-02-07 13:46:58 +07:00
parent 5ce1f5ee40
commit dc36a21358
10 changed files with 516 additions and 2 deletions

View File

@@ -83,9 +83,17 @@ Or just use the single-header version of the library, which you can find [here](
- doesn't contain 3rd-party dependencies
- can be used without rtti and exceptions
## API
## Documentation
> coming soon
- [API Reference](./manuals/api.md#api-reference)
- [Basics](./manuals/api/basics.md)
- [Binds](./manuals/api/binds.md)
- [Indices](./manuals/api/indices.md)
- [Invoke](./manuals/api/invoke.md)
- [Policies](./manuals/api/policies.md)
- [Registry](./manuals/api/registry.md)
- [States](./manuals/api/states.md)
- [Types](./manuals/api/types.md)
## Alternatives

171
manuals/api.md Normal file
View File

@@ -0,0 +1,171 @@
- [API Reference](#api-reference)
- [Basics](#basics)
- [Classes](#classes)
- [Functions](#functions)
- [Binds](#binds)
- [Classes](#classes-1)
- [Functions](#functions-1)
- [Indices](#indices)
- [Classes](#classes-2)
- [Invoke](#invoke)
- [Functions](#functions-2)
- [Policies](#policies)
- [Namespaces](#namespaces)
- [Registry](#registry)
- [Functions](#functions-3)
- [States](#states)
- [Classes](#classes-3)
- [Types](#types)
- [Classes](#classes-4)
# API Reference
## Basics
### Classes
| | |
| ---------------------------------- | ------- |
| [uerror](./api/basics.md#uerror) | uerror |
| [uresult](./api/basics.md#uresult) | uresult |
| [uvalue](./api/basics.md#uvalue) | uvalue |
### Functions
| | |
| -------------------------------------------- | ------------ |
| [make_uerror](./api/basics.md#make_uerror) | make_uerror |
| [make_uresult](./api/basics.md#make_uresult) | make_uresult |
| [make_uvalue](./api/basics.md#make_uvalue) | make_uvalue |
| [ucast](./api/basics.md#ucast) | ucast |
## Binds
### Classes
| | |
| ------------------------------------------------ | -------------- |
| [array_bind](./api/binds.md##array_bind) | array_bind |
| [class_bind](./api/binds.md##class_bind) | class_bind |
| [enum_bind](./api/binds.md##enum_bind) | enum_bind |
| [function_bind](./api/binds.md##function_bind) | function_bind |
| [member_bind](./api/binds.md##member_bind) | member_bind |
| [method_bind](./api/binds.md##method_bind) | method_bind |
| [nullptr_bind](./api/binds.md##nullptr_bind) | nullptr_bind |
| [number_bind](./api/binds.md##number_bind) | number_bind |
| [pointer_bind](./api/binds.md##pointer_bind) | pointer_bind |
| [reference_bind](./api/binds.md##reference_bind) | reference_bind |
| [void_bind](./api/binds.md##void_bind) | void_bind |
| [scope_bind](./api/binds.md##scope_bind) | scope_bind |
| [arguments_bind](./api/binds.md##arguments_bind) | arguments_bind |
| [metadata_bind](./api/binds.md##metadata_bind) | metadata_bind |
### Functions
| | |
| --------------------------------------------- | ------------- |
| [array_](./api/binds.md#array_) | array_ |
| [class_](./api/binds.md#class_) | class_ |
| [enum_](./api/binds.md#enum_) | enum_ |
| [function_](./api/binds.md#function_) | function_ |
| [member_](./api/binds.md#member_) | member_ |
| [method_](./api/binds.md#method_) | method_ |
| [nullptr_](./api/binds.md#nullptr_) | nullptr_ |
| [number_](./api/binds.md#number_) | number_ |
| [pointer_](./api/binds.md#pointer_) | pointer_ |
| [reference_](./api/binds.md#reference_) | reference_ |
| [void_](./api/binds.md#void_) | void_ |
| [local_scope_](./api/binds.md#local_scope_) | local_scope_ |
| [static_scope_](./api/binds.md#static_scope_) | static_scope_ |
| [extend_scope_](./api/binds.md#extend_scope_) | extend_scope_ |
| [arguments_](./api/binds.md#arguments_) | arguments_ |
| [metadata_](./api/binds.md#metadata_) | metadata_ |
## Indices
### Classes
| | |
| ------------------------------------------------------- | ----------------- |
| [argument_index](./api/indices.md#argument_index) | argument_index |
| [constructor_index](./api/indices.md#constructor_index) | constructor_index |
| [destructor_index](./api/indices.md#destructor_index) | destructor_index |
| [evalue_index](./api/indices.md#evalue_index) | evalue_index |
| [function_index](./api/indices.md#function_index) | function_index |
| [member_index](./api/indices.md#member_index) | member_index |
| [method_index](./api/indices.md#method_index) | method_index |
| [scope_index](./api/indices.md#scope_index) | scope_index |
| [variable_index](./api/indices.md#variable_index) | variable_index |
## Invoke
### Functions
| | |
| -------------------------------------------------------------- | --------------------- |
| [invoke](./api/invoke.md#invoke) | invoke |
| [try_invoke](./api/invoke.md#try_invoke) | try_invoke |
| [is_invocable_with](./api/invoke.md#is_invocable_with) | is_invocable_with |
| [check_invocable_error](./api/invoke.md#check_invocable_error) | check_invocable_error |
## Policies
### Namespaces
| | |
| ---------------------------------------------------------- | ------------------ |
| [constructor_policy](./api/policies.md#constructor_policy) | constructor_policy |
| [function_policy](./api/policies.md#function_policy) | function_policy |
| [member_policy](./api/policies.md#member_policy) | member_policy |
| [method_policy](./api/policies.md#method_policy) | method_policy |
| [variable_policy](./api/policies.md#variable_policy) | variable_policy |
## Registry
### Functions
| | |
| -------------------------------------------------- | -------------- |
| [resolve_type](./api/registry.md#resolve_type) | resole_type |
| [for_each_type](./api/registry.md#for_each_type) | for_each_type |
| [resolve_scope](./api/registry.md#resolve_scope) | resolve_scope |
| [for_each_scope](./api/registry.md#for_each_scope) | for_each_scope |
## States
### Classes
| | |
| ------------------------------------------ | ----------- |
| [argument](./api/states.md#argument) | argument |
| [constructor](./api/states.md#constructor) | constructor |
| [destructor](./api/states.md#destructor) | destructor |
| [evalue](./api/states.md#evalue) | evalue |
| [function](./api/states.md#function) | function |
| [member](./api/states.md#member) | member |
| [method](./api/states.md#method) | method |
| [scope](./api/states.md#scope) | scope |
| [variable](./api/states.md#variable) | variable |
## Types
### Classes
| | |
| --------------------------------------------------- | ---------------- |
| [type_id](./api/basics.md#type_id) | type_id |
| [any_type](./api/types.md#any_type) | any_type |
| [array_type](./api/types.md#array_type) | array_type |
| [class_type](./api/types.md#class_type) | class_type |
| [constructor_type](./api/types.md#constructor_type) | constructor_type |
| [destructor_type](./api/types.md#destructor_type) | destructor_type |
| [enum_type](./api/types.md#enum_type) | enum_type |
| [function_type](./api/types.md#function_type) | function_type |
| [member_type](./api/types.md#member_type) | member_type |
| [method_type](./api/types.md#method_type) | method_type |
| [nullptr_type](./api/types.md#nullptr_type) | nullptr_type |
| [number_type](./api/types.md#number_type) | number_type |
| [pointer_type](./api/types.md#pointer_type) | pointer_type |
| [reference_type](./api/types.md#reference_type) | reference_type |
| [void_type](./api/types.md#void_type) | void_type |

30
manuals/api/basics.md Normal file
View File

@@ -0,0 +1,30 @@
- [API Basics](#api-basics)
- [Classes](#classes)
- [uerror](#uerror)
- [uresult](#uresult)
- [uvalue](#uvalue)
- [Functions](#functions)
- [make\_uerror](#make_uerror)
- [make\_uresult](#make_uresult)
- [make\_uvalue](#make_uvalue)
- [ucast](#ucast)
# API Basics
## Classes
### uerror
### uresult
### uvalue
## Functions
### make_uerror
### make_uresult
### make_uvalue
### ucast

99
manuals/api/binds.md Normal file
View File

@@ -0,0 +1,99 @@
- [API Binds](#api-binds)
- [Classes](#classes)
- [array\_bind](#array_bind)
- [class\_bind](#class_bind)
- [enum\_bind](#enum_bind)
- [function\_bind](#function_bind)
- [member\_bind](#member_bind)
- [method\_bind](#method_bind)
- [nullptr\_bind](#nullptr_bind)
- [number\_bind](#number_bind)
- [pointer\_bind](#pointer_bind)
- [reference\_bind](#reference_bind)
- [void\_bind](#void_bind)
- [scope\_bind](#scope_bind)
- [arguments\_bind](#arguments_bind)
- [metadata\_bind](#metadata_bind)
- [Functions](#functions)
- [array\_](#array_)
- [class\_](#class_)
- [enum\_](#enum_)
- [function\_](#function_)
- [member\_](#member_)
- [method\_](#method_)
- [nullptr\_](#nullptr_)
- [number\_](#number_)
- [pointer\_](#pointer_)
- [reference\_](#reference_)
- [void\_](#void_)
- [local\_scope\_](#local_scope_)
- [static\_scope\_](#static_scope_)
- [extend\_scope\_](#extend_scope_)
- [arguments\_](#arguments_)
- [metadata\_](#metadata_)
# API Binds
## Classes
### array_bind
### class_bind
### enum_bind
### function_bind
### member_bind
### method_bind
### nullptr_bind
### number_bind
### pointer_bind
### reference_bind
### void_bind
### scope_bind
### arguments_bind
### metadata_bind
## Functions
### array_
### class_
### enum_
### function_
### member_
### method_
### nullptr_
### number_
### pointer_
### reference_
### void_
### local_scope_
### static_scope_
### extend_scope_
### arguments_
### metadata_

33
manuals/api/indices.md Normal file
View File

@@ -0,0 +1,33 @@
- [API Indices](#api-indices)
- [Classes](#classes)
- [argument\_index](#argument_index)
- [constructor\_index](#constructor_index)
- [destructor\_index](#destructor_index)
- [evalue\_index](#evalue_index)
- [function\_index](#function_index)
- [member\_index](#member_index)
- [method\_index](#method_index)
- [scope\_index](#scope_index)
- [variable\_index](#variable_index)
# API Indices
## Classes
### argument_index
### constructor_index
### destructor_index
### evalue_index
### function_index
### member_index
### method_index
### scope_index
### variable_index

18
manuals/api/invoke.md Normal file
View File

@@ -0,0 +1,18 @@
- [API Invoke](#api-invoke)
- [Functions](#functions)
- [invoke](#invoke)
- [try\_invoke](#try_invoke)
- [is\_invocable\_with](#is_invocable_with)
- [check\_invocable\_error](#check_invocable_error)
# API Invoke
## Functions
### invoke
### try_invoke
### is_invocable_with
### check_invocable_error

53
manuals/api/policies.md Normal file
View File

@@ -0,0 +1,53 @@
- [API Policies](#api-policies)
- [Namespaces](#namespaces)
- [constructor\_policy](#constructor_policy)
- [function\_policy](#function_policy)
- [member\_policy](#member_policy)
- [method\_policy](#method_policy)
- [variable\_policy](#variable_policy)
# API Policies
## Namespaces
### constructor_policy
`as_object`
`as_raw_pointer`
`as_shared_pointer`
`as_unique_pointer`
### function_policy
`as_copy`
`discard_return`
`return_reference_as_pointer`
### member_policy
`as_copy`
`as_pointer`
`as_reference_wrapper`
### method_policy
`as_copy`
`discard_return`
`return_reference_as_pointer`
### variable_policy
`as_copy`
`as_pointer`
`as_reference_wrapper`

18
manuals/api/registry.md Normal file
View File

@@ -0,0 +1,18 @@
- [API Registry](#api-registry)
- [Functions](#functions)
- [resolve\_type](#resolve_type)
- [for\_each\_type](#for_each_type)
- [resolve\_scope](#resolve_scope)
- [for\_each\_scope](#for_each_scope)
# API Registry
## Functions
### resolve_type
### for_each_type
### resolve_scope
### for_each_scope

33
manuals/api/states.md Normal file
View File

@@ -0,0 +1,33 @@
- [API States](#api-states)
- [Classes](#classes)
- [argument](#argument)
- [constructor](#constructor)
- [destructor](#destructor)
- [evalue](#evalue)
- [function](#function)
- [member](#member)
- [method](#method)
- [scope](#scope)
- [variable](#variable)
# API States
## Classes
### argument
### constructor
### destructor
### evalue
### function
### member
### method
### scope
### variable

51
manuals/api/types.md Normal file
View File

@@ -0,0 +1,51 @@
- [API Types](#api-types)
- [Classes](#classes)
- [type\_id](#type_id)
- [any\_type](#any_type)
- [array\_type](#array_type)
- [class\_type](#class_type)
- [constructor\_type](#constructor_type)
- [destructor\_type](#destructor_type)
- [enum\_type](#enum_type)
- [function\_type](#function_type)
- [member\_type](#member_type)
- [method\_type](#method_type)
- [nullptr\_type](#nullptr_type)
- [number\_type](#number_type)
- [pointer\_type](#pointer_type)
- [reference\_type](#reference_type)
- [void\_type](#void_type)
# API Types
## Classes
### type_id
### any_type
### array_type
### class_type
### constructor_type
### destructor_type
### enum_type
### function_type
### member_type
### method_type
### nullptr_type
### number_type
### pointer_type
### reference_type
### void_type