Asio Extensions
Additional functionality built on top of (Boost.)Asio
Build Options

Macros

#define ASIOEXT_USE_BOOST_ASIO
 Use Boost.Asio instead of standalone Asio. More...
 
#define ASIOEXT_SEPARATE_COMPILATION
 Build/Use AsioExt in a seperate compilation unit. More...
 
#define ASIOEXT_DYN_LINK
 Build/Use AsioExt as a shared library. More...
 
#define ASIOEXT_WINDOWS_USE_UTF8_FILENAMES
 On Windows, assume const char* filenames are UTF-8 encoded. More...
 
#define ASIOEXT_DISABLE_BOOST_FILESYSTEM
 Disable the use of Boost.Filesystem. More...
 
#define ASIOEXT_DISABLE_MOVE
 Disable C++11 rvalue reference support. More...
 
#define ASIOEXT_DISABLE_VARIADIC_TEMPLATES
 Disable C++11 variadic template support. More...
 
#define ASIOEXT_DISABLE_NOEXCEPT
 Disable C++11 noexcept support. More...
 
#define ASIOEXT_DISABLE_FILE_FLAGS
 Disable file flags support. More...
 
#define ASIOEXT_DISABLE_PRAGMA_ONCE
 Disable #pragma once support. More...
 

Detailed Description

Defining one of the following macros changes AsioExt behaviour. By default, none of them are defined.

Macro Definition Documentation

◆ ASIOEXT_DISABLE_BOOST_FILESYSTEM

#define ASIOEXT_DISABLE_BOOST_FILESYSTEM

Disable the use of Boost.Filesystem.

This macro disables the use of Boost.Filesystem, even if Boost is used and the used version has a compatible Boost.Filesystem version.

◆ ASIOEXT_DISABLE_FILE_FLAGS

#define ASIOEXT_DISABLE_FILE_FLAGS

Disable file flags support.

This macro disables file flags, regardless of platform support. Attributes passed to open() are silently ignored, while attempts to query or modify file attributes fail.

◆ ASIOEXT_DISABLE_MOVE

#define ASIOEXT_DISABLE_MOVE

Disable C++11 rvalue reference support.

This macro disables the use of rvalue references, regardless of compiler support.

◆ ASIOEXT_DISABLE_NOEXCEPT

#define ASIOEXT_DISABLE_NOEXCEPT

Disable C++11 noexcept support.

This macro disables the use of noexcept, regardless of compiler support.

◆ ASIOEXT_DISABLE_PRAGMA_ONCE

#define ASIOEXT_DISABLE_PRAGMA_ONCE

Disable #pragma once support.

This macro disables the use of #pragma once, regardless of compiler support.

◆ ASIOEXT_DISABLE_VARIADIC_TEMPLATES

#define ASIOEXT_DISABLE_VARIADIC_TEMPLATES

Disable C++11 variadic template support.

This macro disables the use of variadic templates, regardless of compiler support.

◆ ASIOEXT_DYN_LINK

#define ASIOEXT_DYN_LINK

Build/Use AsioExt as a shared library.

This flag must be defined when building and consuming the library.

Additionally, the shared library must have one CU that contains the following line: #include <asioext/impl/src.cpp>.

Note
On Windows, AsioExt will declare functions with __declspec(dllimport/dllexport).

◆ ASIOEXT_SEPARATE_COMPILATION

#define ASIOEXT_SEPARATE_COMPILATION

Build/Use AsioExt in a seperate compilation unit.

This flag must be defined when building and consuming the library.

Additionally, one compilation unit must #include <asioext/impl/src.cpp>.

◆ ASIOEXT_USE_BOOST_ASIO

#define ASIOEXT_USE_BOOST_ASIO

Use Boost.Asio instead of standalone Asio.

If defined, AsioExt will use Boost.Asio headers and types.

◆ ASIOEXT_WINDOWS_USE_UTF8_FILENAMES

#define ASIOEXT_WINDOWS_USE_UTF8_FILENAMES

On Windows, assume const char* filenames are UTF-8 encoded.

This macro defines whether const char* filenames are encoded in the system ANSI code page (if unset) or UTF-8 (if set).