Lely core libraries
2.2.5
|
This header file is part of the utilities library; it contains the C to C++ interface declarations. More...
#include <lely/util/exception.hpp>
#include <algorithm>
#include <memory>
#include <new>
#include <utility>
Go to the source code of this file.
Data Structures | |
class | lely::bad_init |
The type of objects thrown as exceptions to report a failure to initialize an instantiation of a C type. More... | |
class | lely::bad_copy |
The type of objects thrown as exceptions to report a failure to copy an instantiation of a C type. More... | |
class | lely::bad_move |
The type of objects thrown as exceptions to report a failure to move an instantiation of a C type. More... | |
struct | lely::delete_c_type< T > |
The deleter for trivial, standard layout and incomplete C types. More... | |
struct | lely::c_type_traits< T > |
A class template supplying a uniform interface to certain attributes of C types. More... | |
struct | lely::trivial_c_type< T > |
The base class for a C++ interface to a trivial C type. More... | |
class | lely::standard_c_type< T > |
The base class for a C++ interface to a standard layout C type. More... | |
class | lely::incomplete_c_type< T > |
The base class for a C++ interface to an incomplete C type. More... | |
struct | lely::c_type_traits< T > |
A class template supplying a uniform interface to certain attributes of C types. More... | |
struct | lely::c_type_traits< void > |
A class template supplying a uniform interface to certain attributes of the C type void . More... | |
struct | lely::c_type_traits< void >::__type |
Typedefs | |
template<class T > | |
using | lely::unique_c_ptr = ::std::unique_ptr< T, delete_c_type< T > > |
A specialization of std::unique_ptr for trivial, standard layout or incomplete C types, using lely::delete_c_type as the deleter. | |
Functions | |
template<class T , class... Args> | |
inline ::std::shared_ptr< T > | lely::make_shared_c (Args &&... args) |
Creates an instance of a trivial, standard layout or incomplete C type and wraps it in a std::shared_ptr, using lely::delete_c_type as the deleter. | |
template<class T , class... Args> | |
unique_c_ptr< T > | lely::make_unique_c (Args &&... args) |
Creates an instance of a trivial, standard layout or incomplete C type and wraps it in a lely::unique_c_ptr. | |
This header file is part of the utilities library; it contains the C to C++ interface declarations.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Definition in file c_type.hpp.