Compare commits
No commits in common. "main" and "gh-pages" have entirely different histories.
@ -1,41 +0,0 @@
|
|||||||
BasedOnStyle: llvm
|
|
||||||
---
|
|
||||||
AccessModifierOffset: -4
|
|
||||||
AlignEscapedNewlines: DontAlign
|
|
||||||
AllowShortBlocksOnASingleLine: Empty
|
|
||||||
AllowShortEnumsOnASingleLine: true
|
|
||||||
AllowShortFunctionsOnASingleLine: Empty
|
|
||||||
AllowShortIfStatementsOnASingleLine: WithoutElse
|
|
||||||
AllowShortLoopsOnASingleLine: true
|
|
||||||
AlwaysBreakTemplateDeclarations: Yes
|
|
||||||
BreakBeforeBinaryOperators: NonAssignment
|
|
||||||
BreakBeforeTernaryOperators: true
|
|
||||||
ColumnLimit: 0
|
|
||||||
DerivePointerAlignment: false
|
|
||||||
IncludeCategories:
|
|
||||||
- Regex: '<[[:alnum:]_]+>'
|
|
||||||
Priority: 1
|
|
||||||
- Regex: '<(gtest|gmock)/'
|
|
||||||
Priority: 2
|
|
||||||
- Regex: '<[[:alnum:]_./]+>'
|
|
||||||
Priority: 3
|
|
||||||
- Regex: '<entt/'
|
|
||||||
Priority: 4
|
|
||||||
- Regex: '.*'
|
|
||||||
Priority: 5
|
|
||||||
IndentPPDirectives: AfterHash
|
|
||||||
IndentWidth: 4
|
|
||||||
KeepEmptyLinesAtTheStartOfBlocks: false
|
|
||||||
Language: Cpp
|
|
||||||
PointerAlignment: Right
|
|
||||||
SpaceAfterCStyleCast: false
|
|
||||||
SpaceAfterTemplateKeyword: false
|
|
||||||
SpaceAroundPointerQualifiers: After
|
|
||||||
SpaceBeforeCaseColon: false
|
|
||||||
SpaceBeforeCtorInitializerColon: false
|
|
||||||
SpaceBeforeInheritanceColon: false
|
|
||||||
SpaceBeforeParens: Never
|
|
||||||
SpaceBeforeRangeBasedForLoopColon: false
|
|
||||||
Standard: Latest
|
|
||||||
TabWidth: 4
|
|
||||||
UseTab: Never
|
|
||||||
12
.clang-tidy
@ -1,12 +0,0 @@
|
|||||||
Checks: >
|
|
||||||
bugprone-*,
|
|
||||||
-bugprone-easily-swappable-parameters,
|
|
||||||
concurrency-*,
|
|
||||||
modernize-*,
|
|
||||||
-modernize-avoid-c-arrays,
|
|
||||||
-modernize-use-trailing-return-type,
|
|
||||||
performance-*,
|
|
||||||
portability-*,
|
|
||||||
CheckOptions:
|
|
||||||
- key: bugprone-suspicious-include.HeaderFileExtensions
|
|
||||||
value: ";h;hpp;ipp"
|
|
||||||
@ -1,53 +0,0 @@
|
|||||||
#!/usr/bin/env python
|
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
|
|
||||||
import os
|
|
||||||
import re
|
|
||||||
import platform
|
|
||||||
from cpt.packager import ConanMultiPackager
|
|
||||||
|
|
||||||
|
|
||||||
def get_version():
|
|
||||||
with open("CMakeLists.txt") as cmake:
|
|
||||||
content = cmake.read()
|
|
||||||
match = re.search(r'project\(uvw VERSION (.*)\)', content)
|
|
||||||
if match:
|
|
||||||
return match.group(1)
|
|
||||||
tag_version = os.getenv("GITHUB_REF")
|
|
||||||
package_version = tag_version.replace("refs/tags/v", "")
|
|
||||||
return package_version
|
|
||||||
|
|
||||||
def get_username():
|
|
||||||
return os.getenv("CONAN_USERNAME", "skypjack")
|
|
||||||
|
|
||||||
|
|
||||||
def get_reference():
|
|
||||||
version = get_version()
|
|
||||||
username = get_username()
|
|
||||||
return "uvw/{}@{}/stable".format(version, username)
|
|
||||||
|
|
||||||
|
|
||||||
def get_upload():
|
|
||||||
username = get_username()
|
|
||||||
url = "https://api.bintray.com/conan/{}/conan".format(username)
|
|
||||||
default_upload = url if os.getenv("GITHUB_REF") else False
|
|
||||||
return os.getenv("CONAN_UPLOAD", default_upload)
|
|
||||||
|
|
||||||
|
|
||||||
def upload_when_stable():
|
|
||||||
return os.getenv("CONAN_UPLOAD_ONLY_WHEN_STABLE", "1").lower() not in ["0", "false", "no"]
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
test_folder = os.path.join(".conan", "test_package")
|
|
||||||
builder = ConanMultiPackager(reference=get_reference(),
|
|
||||||
username=get_username(),
|
|
||||||
upload=get_upload(),
|
|
||||||
test_folder=test_folder,
|
|
||||||
stable_branch_pattern=r'v?\d+\.\d+\.\d+.*',
|
|
||||||
upload_only_when_stable=upload_when_stable())
|
|
||||||
if platform.system() == "Linux":
|
|
||||||
builder.add(settings={"compiler": "gcc", "compiler.version": "8",
|
|
||||||
"arch": "x86_64", "build_type": "Release"},
|
|
||||||
options={}, env_vars={}, build_requires={})
|
|
||||||
builder.run()
|
|
||||||
@ -1,10 +0,0 @@
|
|||||||
project(test_package)
|
|
||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
|
|
||||||
set(CMAKE_VERBOSE_MAKEFILE TRUE)
|
|
||||||
|
|
||||||
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
|
|
||||||
conan_basic_setup(TARGETS)
|
|
||||||
|
|
||||||
add_executable(${PROJECT_NAME} test_package.cpp)
|
|
||||||
target_link_libraries(${PROJECT_NAME} CONAN_PKG::uvw)
|
|
||||||
@ -1,18 +0,0 @@
|
|||||||
#!/usr/bin/env python
|
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
|
|
||||||
import os
|
|
||||||
from conans import ConanFile, CMake
|
|
||||||
|
|
||||||
class TestPackageConan(ConanFile):
|
|
||||||
settings = "os", "compiler", "build_type", "arch"
|
|
||||||
generators = "cmake"
|
|
||||||
|
|
||||||
def build(self):
|
|
||||||
cmake = CMake(self)
|
|
||||||
cmake.configure()
|
|
||||||
cmake.build()
|
|
||||||
|
|
||||||
def test(self):
|
|
||||||
test_package = os.path.join("bin", "test_package")
|
|
||||||
self.run(test_package, run_environment=True)
|
|
||||||
@ -1,48 +0,0 @@
|
|||||||
#include <cstdlib>
|
|
||||||
#include <iostream>
|
|
||||||
#include <uvw.hpp>
|
|
||||||
#include <memory>
|
|
||||||
|
|
||||||
void listen(uvw::loop &loop) {
|
|
||||||
std::shared_ptr<uvw::tcp_handle> tcp = loop.resource<uvw::tcp_handle>();
|
|
||||||
|
|
||||||
tcp->on<uvw::listen_event>([](const uvw::listen_event &, uvw::tcp_handle &srv) {
|
|
||||||
std::shared_ptr<uvw::tcp_handle> client = srv.loop().resource<uvw::tcp_handle>();
|
|
||||||
|
|
||||||
client->on<uvw::close_event>([ptr = srv.shared_from_this()](const uvw::close_event &, uvw::tcp_handle &) { ptr->close(); });
|
|
||||||
client->on<uvw::end_event>([](const uvw::end_event &, uvw::tcp_handle &client) { client.close(); });
|
|
||||||
|
|
||||||
srv.accept(*client);
|
|
||||||
client->read();
|
|
||||||
});
|
|
||||||
|
|
||||||
tcp->bind("127.0.0.1", 4242);
|
|
||||||
tcp->listen();
|
|
||||||
}
|
|
||||||
|
|
||||||
void conn(uvw::loop &loop) {
|
|
||||||
auto tcp = loop.resource<uvw::tcp_handle>();
|
|
||||||
|
|
||||||
tcp->on<uvw::error_event>([](const uvw::error_event &, uvw::tcp_handle &) { /* handle errors */ });
|
|
||||||
|
|
||||||
tcp->on<uvw::connect_event>([](const uvw::connect_event &, uvw::tcp_handle &tcp) {
|
|
||||||
auto dataWrite = std::unique_ptr<char[]>(new char[2]{ 'b', 'c' });
|
|
||||||
tcp.write(std::move(dataWrite), 2);
|
|
||||||
tcp.close();
|
|
||||||
});
|
|
||||||
|
|
||||||
tcp->connect(std::string{"127.0.0.1"}, 4242);
|
|
||||||
}
|
|
||||||
|
|
||||||
int main() {
|
|
||||||
std::cout << "Getting UVW loop ...\n";
|
|
||||||
auto loop = uvw::loop::get_default();
|
|
||||||
std::cout << "Staring UVW listener ...\n";
|
|
||||||
listen(*loop);
|
|
||||||
std::cout << "Connecting ...\n";
|
|
||||||
conn(*loop);
|
|
||||||
loop->run();
|
|
||||||
std::cout << "Done!\n";
|
|
||||||
|
|
||||||
return EXIT_SUCCESS;
|
|
||||||
}
|
|
||||||
12
.github/FUNDING.yml
vendored
@ -1,12 +0,0 @@
|
|||||||
# These are supported funding model platforms
|
|
||||||
|
|
||||||
github: skypjack
|
|
||||||
patreon:
|
|
||||||
open_collective:
|
|
||||||
ko_fi:
|
|
||||||
tidelift:
|
|
||||||
community_bridge:
|
|
||||||
liberapay:
|
|
||||||
issuehunt:
|
|
||||||
otechie:
|
|
||||||
custom: https://www.paypal.me/skypjack
|
|
||||||
21
.github/workflows/build-macos.yml
vendored
@ -1,21 +0,0 @@
|
|||||||
name: build-macos
|
|
||||||
|
|
||||||
on: [push, pull_request]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
|
|
||||||
macos:
|
|
||||||
timeout-minutes: 60
|
|
||||||
runs-on: macOS-latest
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
mode: [-DUVW_BUILD_SHARED_LIB=ON, -DUVW_BUILD_LIBS=ON, -DUVW_BUILD_LIBS=OFF]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- name: Compile tests
|
|
||||||
working-directory: build
|
|
||||||
run: |
|
|
||||||
cmake ${{ matrix.mode }} -DUVW_BUILD_TESTING=ON -Dlibuv_buildtests=OFF ..
|
|
||||||
make -j2
|
|
||||||
25
.github/workflows/build-meson.yml
vendored
@ -1,25 +0,0 @@
|
|||||||
name: build-meson
|
|
||||||
|
|
||||||
on: [push, pull_request]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
meson:
|
|
||||||
timeout-minutes: 60
|
|
||||||
runs-on: ubuntu-22.04
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- name: Install Meson
|
|
||||||
env:
|
|
||||||
DEBIAN_FRONTEND: noninteractive
|
|
||||||
run: |
|
|
||||||
sudo apt-get update --fix-missing
|
|
||||||
sudo apt-get install -y meson
|
|
||||||
- name: Meson Build (shared)
|
|
||||||
run: |
|
|
||||||
meson setup build
|
|
||||||
meson compile -C build
|
|
||||||
- name: Meson Build (static)
|
|
||||||
run: |
|
|
||||||
rm -rf build/
|
|
||||||
meson setup build --default-library=static
|
|
||||||
meson compile -C build
|
|
||||||
39
.github/workflows/build-ubuntu-20.04.yml
vendored
@ -1,39 +0,0 @@
|
|||||||
name: build-ubuntu-20.04
|
|
||||||
|
|
||||||
on: [push, pull_request]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
|
|
||||||
linux:
|
|
||||||
timeout-minutes: 60
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
compiler:
|
|
||||||
- { pkg: g++, exe: 'g++', version: 7 }
|
|
||||||
- { pkg: g++, exe: 'g++', version: 8 }
|
|
||||||
- { pkg: g++, exe: 'g++', version: 9 }
|
|
||||||
- { pkg: clang, exe: 'clang++', version: 8 }
|
|
||||||
- { pkg: clang, exe: 'clang++', version: 9 }
|
|
||||||
- { pkg: clang, exe: 'clang++', version: 10 }
|
|
||||||
- { pkg: clang, exe: 'clang++', version: 11 }
|
|
||||||
mode: [-DUVW_BUILD_SHARED_LIB=ON, -DUVW_BUILD_LIBS=ON, -DUVW_BUILD_LIBS=OFF]
|
|
||||||
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- name: Install ${{ matrix.compiler.exe }}
|
|
||||||
run: |
|
|
||||||
sudo apt-get update --fix-missing
|
|
||||||
sudo apt install -y ${{ matrix.compiler.pkg }}-${{ matrix.compiler.version }}
|
|
||||||
- name: Compile tests
|
|
||||||
env:
|
|
||||||
CXX: ${{ matrix.compiler.exe }}-${{ matrix.compiler.version }}
|
|
||||||
run: |
|
|
||||||
cmake ${{ matrix.mode }} --preset ci-ubuntu
|
|
||||||
cmake --build build/ --parallel 2
|
|
||||||
- name: Run tests
|
|
||||||
working-directory: build
|
|
||||||
env:
|
|
||||||
CTEST_OUTPUT_ON_FAILURE: 1
|
|
||||||
run: ctest --timeout 5 -C Debug -j2
|
|
||||||
38
.github/workflows/build-ubuntu-latest.yml
vendored
@ -1,38 +0,0 @@
|
|||||||
name: build-ubuntu-latest
|
|
||||||
|
|
||||||
on: [push, pull_request]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
|
|
||||||
linux:
|
|
||||||
timeout-minutes: 60
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
compiler:
|
|
||||||
- { pkg: g++, exe: 'g++', version: 10 }
|
|
||||||
- { pkg: g++, exe: 'g++', version: 11 }
|
|
||||||
- { pkg: g++, exe: 'g++', version: 12 }
|
|
||||||
- { pkg: clang, exe: 'clang++', version: 12 }
|
|
||||||
- { pkg: clang, exe: 'clang++', version: 13 }
|
|
||||||
- { pkg: clang, exe: 'clang++', version: 14 }
|
|
||||||
mode: [-DUVW_BUILD_SHARED_LIB=ON, -DUVW_BUILD_LIBS=ON, -DUVW_BUILD_LIBS=OFF]
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- name: Install ${{ matrix.compiler.exe }}
|
|
||||||
run: |
|
|
||||||
sudo apt-get update --fix-missing
|
|
||||||
sudo apt install -y ${{ matrix.compiler.pkg }}-${{ matrix.compiler.version }}
|
|
||||||
- name: Compile tests
|
|
||||||
env:
|
|
||||||
CXX: ${{ matrix.compiler.exe }}-${{ matrix.compiler.version }}
|
|
||||||
run: |
|
|
||||||
cmake ${{ matrix.mode }} --preset ci-ubuntu
|
|
||||||
cmake --build build/ --parallel 2
|
|
||||||
- name: Run tests
|
|
||||||
working-directory: build
|
|
||||||
env:
|
|
||||||
CTEST_OUTPUT_ON_FAILURE: 1
|
|
||||||
run: ctest --timeout 5 -C Debug -j2
|
|
||||||
22
.github/workflows/build-win.yml
vendored
@ -1,22 +0,0 @@
|
|||||||
name: build-win
|
|
||||||
|
|
||||||
on: [push, pull_request]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
|
|
||||||
windows:
|
|
||||||
timeout-minutes: 60
|
|
||||||
runs-on: windows-latest
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
generator: [Visual Studio 17 2022]
|
|
||||||
mode: [-DUVW_BUILD_SHARED_LIB=ON, -DUVW_BUILD_LIBS=ON, -DUVW_BUILD_LIBS=OFF]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- name: Compile tests
|
|
||||||
working-directory: build
|
|
||||||
run: |
|
|
||||||
cmake -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=TRUE ${{ matrix.mode }} -DUVW_BUILD_TESTING=ON -Dlibuv_buildtests=OFF -DCMAKE_CXX_FLAGS=/W1 -G"${{ matrix.generator }}" ..
|
|
||||||
cmake --build . -j 2
|
|
||||||
33
.github/workflows/coverage.yml
vendored
@ -1,33 +0,0 @@
|
|||||||
name: coverage
|
|
||||||
|
|
||||||
on: [push, pull_request]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
|
|
||||||
codecov:
|
|
||||||
timeout-minutes: 30
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- name: Compile tests
|
|
||||||
working-directory: build
|
|
||||||
env:
|
|
||||||
CXXFLAGS: "-O0 --coverage -fno-inline -fno-inline-small-functions -fno-default-inline"
|
|
||||||
CXX: g++
|
|
||||||
run: |
|
|
||||||
cmake -DUVW_BUILD_TESTING=ON -Dlibuv_buildtests=OFF ..
|
|
||||||
make -j4
|
|
||||||
- name: Run tests
|
|
||||||
working-directory: build
|
|
||||||
env:
|
|
||||||
CTEST_OUTPUT_ON_FAILURE: 1
|
|
||||||
run: ctest --timeout 5 -C Debug -j4
|
|
||||||
- name: Upload coverage to Codecov
|
|
||||||
working-directory: build
|
|
||||||
env:
|
|
||||||
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
|
||||||
run: |
|
|
||||||
wget https://codecov.io/bash -O codecov
|
|
||||||
chmod +x codecov
|
|
||||||
./codecov -t $CODECOV_TOKEN -B $GITHUB_REF -s .
|
|
||||||
32
.github/workflows/deploy.yml
vendored
@ -1,32 +0,0 @@
|
|||||||
name: deploy
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- v*
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
|
|
||||||
conan:
|
|
||||||
timeout-minutes: 5
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: docker://conanio/gcc8
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- name: Setup Python
|
|
||||||
uses: actions/setup-python@master
|
|
||||||
with:
|
|
||||||
version: 3.7
|
|
||||||
- name: Install
|
|
||||||
run: |
|
|
||||||
pip install --upgrade wheel
|
|
||||||
pip install conan_package_tools
|
|
||||||
- name: Deploy
|
|
||||||
env:
|
|
||||||
CONAN_LOGIN_USERNAME: ${{ secrets.CONAN_LOGIN_USERNAME }}
|
|
||||||
CONAN_PASSWORD: ${{ secrets.CONAN_PASSWORD }}
|
|
||||||
CONAN_UPLOAD: ${{ secrets.CONAN_UPLOAD }}
|
|
||||||
CONAN_GCC_VERSIONS: 8
|
|
||||||
run: |
|
|
||||||
python .conan/build.py
|
|
||||||
30
.github/workflows/sanitizer.yml
vendored
@ -1,30 +0,0 @@
|
|||||||
name: sanitizer
|
|
||||||
|
|
||||||
on: [push, pull_request]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
|
|
||||||
clang:
|
|
||||||
timeout-minutes: 15
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
compiler: [clang++]
|
|
||||||
sanitizer: [ASAN, UBSAN]
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- name: Compile tests
|
|
||||||
working-directory: build
|
|
||||||
env:
|
|
||||||
CXX: ${{ matrix.compiler }}
|
|
||||||
run: |
|
|
||||||
cmake ${{ matrix.mode }} -DUVW_BUILD_TESTING=ON -DUVW_USE_${{ matrix.sanitizer }}=ON -Dlibuv_buildtests=OFF ..
|
|
||||||
make -j2
|
|
||||||
- name: Run tests
|
|
||||||
working-directory: build
|
|
||||||
env:
|
|
||||||
CTEST_OUTPUT_ON_FAILURE: 1
|
|
||||||
run: ctest --timeout 5 -C Debug -j2
|
|
||||||
78
.github/workflows/tools.yml
vendored
@ -1,78 +0,0 @@
|
|||||||
name: tools
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- tools
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
|
|
||||||
iwyu:
|
|
||||||
timeout-minutes: 60
|
|
||||||
|
|
||||||
env:
|
|
||||||
IWYU: "0.22"
|
|
||||||
LLVM: "18"
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
continue-on-error: true
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- name: Install llvm/clang
|
|
||||||
# see: https://apt.llvm.org/
|
|
||||||
run: |
|
|
||||||
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
|
||||||
sudo add-apt-repository "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-$LLVM main"
|
|
||||||
sudo apt update
|
|
||||||
sudo apt remove -y "llvm*"
|
|
||||||
sudo apt remove -y "libclang-dev*"
|
|
||||||
sudo apt remove -y "clang*"
|
|
||||||
sudo apt install -y llvm-$LLVM-dev
|
|
||||||
sudo apt install -y libclang-$LLVM-dev
|
|
||||||
sudo apt install -y clang-$LLVM
|
|
||||||
- name: Compile iwyu
|
|
||||||
# see: https://github.com/include-what-you-use/include-what-you-use
|
|
||||||
working-directory: build
|
|
||||||
run: |
|
|
||||||
git clone https://github.com/include-what-you-use/include-what-you-use.git --branch $IWYU --depth 1
|
|
||||||
mkdir include-what-you-use/build
|
|
||||||
cd include-what-you-use/build
|
|
||||||
cmake -DCMAKE_C_COMPILER=clang-$LLVM \
|
|
||||||
-DCMAKE_CXX_COMPILER=clang++-$LLVM \
|
|
||||||
-DCMAKE_INSTALL_PREFIX=./ \
|
|
||||||
..
|
|
||||||
make -j4
|
|
||||||
bin/include-what-you-use --version
|
|
||||||
- name: Compile tests
|
|
||||||
working-directory: build
|
|
||||||
run: |
|
|
||||||
export PATH=$PATH:${GITHUB_WORKSPACE}/build/include-what-you-use/build/bin
|
|
||||||
cmake -DUVW_BUILD_TESTING=ON \
|
|
||||||
-Dlibuv_buildtests=OFF \
|
|
||||||
-DCMAKE_C_COMPILER=clang-$LLVM \
|
|
||||||
-DCMAKE_CXX_COMPILER=clang++-$LLVM \
|
|
||||||
-DCMAKE_CXX_INCLUDE_WHAT_YOU_USE="include-what-you-use;-Xiwyu;--mapping_file=${GITHUB_WORKSPACE}/uvw.imp;-Xiwyu;--no_fwd_decls;-Xiwyu;--verbose=1" \
|
|
||||||
..
|
|
||||||
make -j4
|
|
||||||
|
|
||||||
clang-tidy:
|
|
||||||
timeout-minutes: 60
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
continue-on-error: true
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- name: Compile tests
|
|
||||||
working-directory: build
|
|
||||||
env:
|
|
||||||
CXX: clang++
|
|
||||||
run: |
|
|
||||||
cmake -DUVW_BUILD_TESTING=ON -DUVW_USE_CLANG_TIDY=ON -Dlibuv_buildtests=OFF ..
|
|
||||||
make -j4
|
|
||||||
- name: Run tests
|
|
||||||
working-directory: build
|
|
||||||
env:
|
|
||||||
CTEST_OUTPUT_ON_FAILURE: 1
|
|
||||||
run: ctest -C Debug -j4
|
|
||||||
9
.gitignore
vendored
@ -1,9 +0,0 @@
|
|||||||
*.user
|
|
||||||
CMakeSettings.json
|
|
||||||
.conan/test_package/build
|
|
||||||
cmake-build-debug/
|
|
||||||
.idea/
|
|
||||||
.vs/
|
|
||||||
.vscode/
|
|
||||||
.cache/
|
|
||||||
out/
|
|
||||||
29
AUTHORS
@ -1,29 +0,0 @@
|
|||||||
# Author
|
|
||||||
|
|
||||||
skypjack
|
|
||||||
|
|
||||||
# Collaborators
|
|
||||||
|
|
||||||
morbo84
|
|
||||||
stefanofiorentino
|
|
||||||
|
|
||||||
# Contributors
|
|
||||||
|
|
||||||
lessness
|
|
||||||
lordlukas
|
|
||||||
lpmi-13
|
|
||||||
Zikoel
|
|
||||||
fradefe
|
|
||||||
tusharpm
|
|
||||||
fcelda
|
|
||||||
raoul
|
|
||||||
filonik
|
|
||||||
yisonPylkita
|
|
||||||
Miigon
|
|
||||||
slyshykO
|
|
||||||
bmagistro
|
|
||||||
richardbmx
|
|
||||||
wnsgml972
|
|
||||||
ffontaine
|
|
||||||
elindsey
|
|
||||||
erez-o
|
|
||||||
264
CMakeLists.txt
@ -1,264 +0,0 @@
|
|||||||
#
|
|
||||||
# uvw
|
|
||||||
#
|
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 3.13)
|
|
||||||
|
|
||||||
#
|
|
||||||
# Building in-tree is not allowed (we take care of your craziness).
|
|
||||||
#
|
|
||||||
|
|
||||||
if(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR)
|
|
||||||
message(FATAL_ERROR "Prevented in-tree built. Please create a build directory outside of the source code and call cmake from there. Thank you.")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
#
|
|
||||||
# Project configuration
|
|
||||||
#
|
|
||||||
set(UVW_VERSION_MAJOR 3)
|
|
||||||
set(UVW_VERSION_MINOR 5)
|
|
||||||
set(UVW_VERSION_PATCH 0)
|
|
||||||
|
|
||||||
project(
|
|
||||||
uvw
|
|
||||||
VERSION ${UVW_VERSION_MAJOR}.${UVW_VERSION_MINOR}.${UVW_VERSION_PATCH}
|
|
||||||
DESCRIPTION "Header-only, event based, tiny and easy to use libuv wrapper in modern C++ - now available also as static library!"
|
|
||||||
HOMEPAGE_URL "https://github.com/skypjack/uvw"
|
|
||||||
LANGUAGES C CXX
|
|
||||||
)
|
|
||||||
|
|
||||||
if(NOT CMAKE_BUILD_TYPE)
|
|
||||||
set(CMAKE_BUILD_TYPE Debug)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
option(UVW_USE_LIBCPP "Use libc++ by adding -stdlib=libc++ flag if available." ON)
|
|
||||||
option(UVW_USE_ASAN "Use address sanitizer by adding -fsanitize=address -fno-omit-frame-pointer flags" OFF)
|
|
||||||
option(UVW_USE_UBSAN "Use address sanitizer by adding -fsanitize=undefined -fno-sanitize-recover=all -fno-omit-frame-pointer flags" OFF)
|
|
||||||
option(UVW_USE_CLANG_TIDY "Enable static analysis with clang-tidy" OFF)
|
|
||||||
option(UVW_BUILD_LIBS "Prepare targets for static library rather than for a header-only library." OFF)
|
|
||||||
option(UVW_BUILD_SHARED_LIB "Prepare targets for shared library rather than for a header-only library." OFF)
|
|
||||||
option(UVW_FIND_LIBUV "Try finding libuv library development files in the system" OFF)
|
|
||||||
|
|
||||||
if(UVW_BUILD_SHARED_LIB)
|
|
||||||
set(UVW_BUILD_LIBS BOOL:ON)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
#
|
|
||||||
# Compiler stuff
|
|
||||||
#
|
|
||||||
|
|
||||||
if(NOT WIN32 AND UVW_USE_LIBCPP)
|
|
||||||
include(CheckCXXSourceCompiles)
|
|
||||||
include(CMakePushCheckState)
|
|
||||||
|
|
||||||
cmake_push_check_state()
|
|
||||||
|
|
||||||
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -stdlib=libc++")
|
|
||||||
|
|
||||||
check_cxx_source_compiles("
|
|
||||||
#include<type_traits>
|
|
||||||
int main() { return std::is_same_v<int, char>; }
|
|
||||||
" UVW_HAS_LIBCPP)
|
|
||||||
|
|
||||||
if(NOT UVW_HAS_LIBCPP)
|
|
||||||
message(WARNING "The option UVW_USE_LIBCPP is set (by default) but libc++ is not available. The flag will not be added to the target.")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
cmake_pop_check_state()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(UVW_USE_CLANG_TIDY)
|
|
||||||
find_program(UVW_CLANG_TIDY_EXECUTABLE "clang-tidy")
|
|
||||||
|
|
||||||
if(NOT UVW_CLANG_TIDY_EXECUTABLE)
|
|
||||||
message(VERBOSE "The option UVW_USE_CLANG_TIDY is set but clang-tidy executable is not available.")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Required minimal libuv version
|
|
||||||
set(UVW_LIBUV_VERSION 1.49.0)
|
|
||||||
|
|
||||||
function(fetch_libuv)
|
|
||||||
if (UVW_FETCH_LIBUV)
|
|
||||||
include(FetchContent)
|
|
||||||
|
|
||||||
FetchContent_Declare(
|
|
||||||
libuv
|
|
||||||
GIT_REPOSITORY https://github.com/libuv/libuv.git
|
|
||||||
GIT_TAG "v${UVW_LIBUV_VERSION}"
|
|
||||||
GIT_SHALLOW 1
|
|
||||||
)
|
|
||||||
|
|
||||||
FetchContent_GetProperties(libuv)
|
|
||||||
|
|
||||||
if(NOT libuv_POPULATED)
|
|
||||||
FetchContent_Populate(libuv)
|
|
||||||
add_subdirectory(${libuv_SOURCE_DIR} ${libuv_BINARY_DIR} EXCLUDE_FROM_ALL)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(UVW_BUILD_SHARED_LIB)
|
|
||||||
add_library(uv::uv-shared ALIAS uv)
|
|
||||||
set_target_properties(uv PROPERTIES POSITION_INDEPENDENT_CODE 1)
|
|
||||||
else()
|
|
||||||
add_library(uv::uv-static ALIAS uv_a)
|
|
||||||
set_target_properties(uv_a PROPERTIES POSITION_INDEPENDENT_CODE 1)
|
|
||||||
endif()
|
|
||||||
endif(UVW_FETCH_LIBUV)
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
function(use_libuv)
|
|
||||||
set(UVW_FETCH_LIBUV_DEFAULT ON)
|
|
||||||
|
|
||||||
if (UVW_FIND_LIBUV)
|
|
||||||
find_package(libuv ${LIBUV_VERSION} QUIET)
|
|
||||||
if (libuv_FOUND)
|
|
||||||
add_library(uv::uv-shared ALIAS uv)
|
|
||||||
set(UVW_FETCH_LIBUV_DEFAULT OFF)
|
|
||||||
message(STATUS "libuv ${libuv_VERSION} found via cmake")
|
|
||||||
else(libuv_FOUND)
|
|
||||||
find_package(PkgConfig QUIET)
|
|
||||||
if (PkgConfig_FOUND)
|
|
||||||
pkg_check_modules(libuv IMPORTED_TARGET libuv>=${LIBUV_VERSION})
|
|
||||||
if (libuv_FOUND)
|
|
||||||
add_library(uv::uv-shared ALIAS PkgConfig::libuv)
|
|
||||||
set(UVW_FETCH_LIBUV_DEFAULT OFF)
|
|
||||||
message(STATUS "libuv ${libuv_VERSION} found via pkg-config")
|
|
||||||
endif(libuv_FOUND)
|
|
||||||
endif(PkgConfig_FOUND)
|
|
||||||
endif(libuv_FOUND)
|
|
||||||
endif(UVW_FIND_LIBUV)
|
|
||||||
|
|
||||||
option(UVW_FETCH_LIBUV "Fetch the libuv repo using CMake FetchContent facility" ${UVW_FETCH_LIBUV_DEFAULT})
|
|
||||||
|
|
||||||
fetch_libuv()
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
#
|
|
||||||
# Add uvw target
|
|
||||||
#
|
|
||||||
|
|
||||||
include(GNUInstallDirs)
|
|
||||||
|
|
||||||
if(UVW_BUILD_LIBS)
|
|
||||||
use_libuv()
|
|
||||||
|
|
||||||
add_subdirectory(src)
|
|
||||||
file(GLOB HEADERS src/uvw/*.h src/uvw/*.hpp)
|
|
||||||
else()
|
|
||||||
add_library(uvw INTERFACE)
|
|
||||||
add_library(uvw::uvw ALIAS uvw)
|
|
||||||
|
|
||||||
target_compile_features(uvw INTERFACE cxx_std_17)
|
|
||||||
|
|
||||||
target_include_directories(
|
|
||||||
uvw
|
|
||||||
INTERFACE
|
|
||||||
$<BUILD_INTERFACE:${uvw_SOURCE_DIR}/src>
|
|
||||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
|
||||||
)
|
|
||||||
|
|
||||||
if(UVW_USE_ASAN)
|
|
||||||
target_compile_options(uvw INTERFACE $<$<CONFIG:Debug>:-fsanitize=address -fno-omit-frame-pointer>)
|
|
||||||
target_link_libraries(uvw INTERFACE $<$<CONFIG:Debug>:-fsanitize=address>)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(UVW_USE_UBSAN)
|
|
||||||
target_compile_options(uvw INTERFACE $<$<CONFIG:Debug>:-fsanitize=undefined -fno-sanitize-recover=all -fno-omit-frame-pointer>)
|
|
||||||
target_link_libraries(uvw INTERFACE $<$<CONFIG:Debug>:-fsanitize=undefined>)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(UVW_CLANG_TIDY_EXECUTABLE)
|
|
||||||
set(CMAKE_CXX_CLANG_TIDY "${UVW_CLANG_TIDY_EXECUTABLE};--config-file=${uvw_SOURCE_DIR}/.clang-tidy;--header-filter=${uvw_SOURCE_DIR}/src/uvw/.*")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(UVW_HAS_LIBCPP)
|
|
||||||
target_compile_options(uvw BEFORE INTERFACE -stdlib=libc++)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
file(GLOB HEADERS src/uvw/*.h src/uvw/*.hpp)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
#
|
|
||||||
# Install targets
|
|
||||||
#
|
|
||||||
|
|
||||||
install(
|
|
||||||
FILES ${HEADERS}
|
|
||||||
COMPONENT ${PROJECT_NAME}
|
|
||||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/uvw
|
|
||||||
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
|
|
||||||
)
|
|
||||||
|
|
||||||
install(
|
|
||||||
FILES src/uvw.hpp
|
|
||||||
COMPONENT ${PROJECT_NAME}
|
|
||||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
|
||||||
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
|
|
||||||
)
|
|
||||||
|
|
||||||
#
|
|
||||||
# Install targets
|
|
||||||
#
|
|
||||||
|
|
||||||
if (UVW_BUILD_LIBS)
|
|
||||||
set_target_properties(
|
|
||||||
uvw PROPERTIES
|
|
||||||
VERSION ${UVW_VERSION_MAJOR}.${UVW_VERSION_MINOR}.${UVW_VERSION_PATCH}
|
|
||||||
SOVERSION ${UVW_VERSION_MAJOR}
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
install(
|
|
||||||
EXPORT uvwConfig
|
|
||||||
NAMESPACE uvw::
|
|
||||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/uvw
|
|
||||||
)
|
|
||||||
|
|
||||||
install(
|
|
||||||
TARGETS uvw
|
|
||||||
EXPORT uvwConfig
|
|
||||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
||||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
||||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
||||||
)
|
|
||||||
|
|
||||||
if(UVW_FETCH_LIBUV AND UVW_BUILD_LIBS)
|
|
||||||
# libuv is only fetched when both above conditions are true
|
|
||||||
install(DIRECTORY ${libuv_SOURCE_DIR}/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/uvw/uv/include)
|
|
||||||
if (UVW_BUILD_SHARED_LIB)
|
|
||||||
install(TARGETS uv EXPORT uvwConfig LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/uvw)
|
|
||||||
else()
|
|
||||||
install(TARGETS uv_a EXPORT uvwConfig ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/uvw)
|
|
||||||
endif()
|
|
||||||
endif(UVW_FETCH_LIBUV AND UVW_BUILD_LIBS)
|
|
||||||
|
|
||||||
export(EXPORT uvwConfig)
|
|
||||||
|
|
||||||
### Testing
|
|
||||||
|
|
||||||
option(UVW_BUILD_TESTING "Enable testing with ctest." OFF)
|
|
||||||
|
|
||||||
if(UVW_BUILD_TESTING)
|
|
||||||
option(UVW_FIND_GTEST_PACKAGE "Enable finding gtest package." OFF)
|
|
||||||
|
|
||||||
if (NOT UVW_BUILD_LIBS)
|
|
||||||
use_libuv()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
enable_testing()
|
|
||||||
add_subdirectory(test)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
#
|
|
||||||
# Documentation
|
|
||||||
#
|
|
||||||
|
|
||||||
option(UVW_BUILD_DOCS "Enable building with documentation." OFF)
|
|
||||||
|
|
||||||
if(UVW_BUILD_DOCS)
|
|
||||||
find_package(Doxygen 1.10)
|
|
||||||
|
|
||||||
if(DOXYGEN_FOUND)
|
|
||||||
add_subdirectory(docs)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
@ -1,59 +0,0 @@
|
|||||||
{
|
|
||||||
"version": 2,
|
|
||||||
"cmakeMinimumRequired": {
|
|
||||||
"major": 3,
|
|
||||||
"minor": 13,
|
|
||||||
"patch": 0
|
|
||||||
},
|
|
||||||
"configurePresets": [
|
|
||||||
{
|
|
||||||
"name": "cmake-pedantic",
|
|
||||||
"description": "Enables all CMake warnings.`",
|
|
||||||
"hidden": true,
|
|
||||||
"warnings": {
|
|
||||||
"dev": true,
|
|
||||||
"deprecated": true,
|
|
||||||
"uninitialized": true,
|
|
||||||
"unusedCli": true,
|
|
||||||
"systemVars": false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "dev-mode",
|
|
||||||
"hidden": true,
|
|
||||||
"description": "Common (non-OS specific) mode for development",
|
|
||||||
"inherits": "cmake-pedantic",
|
|
||||||
"cacheVariables": {
|
|
||||||
"UVW_BUILD_TESTING": true,
|
|
||||||
"libuv_buildtests": false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "flags-linux",
|
|
||||||
"hidden": true,
|
|
||||||
"description": "Compiler flags for GNU and Clang compilers. When compiling in DEBUG mode, all warnings will be converted into errors.",
|
|
||||||
"cacheVariables": {
|
|
||||||
"CMAKE_CXX_FLAGS": "-Wall -Wextra -Wpedantic -Wconversion -Wsign-conversion -Wcast-qual -Wformat=2 -Wundef -Wshadow -Wcast-align -Wunused -Wnull-dereference -Wimplicit-fallthrough -Woverloaded-virtual -Wnon-virtual-dtor -Wold-style-cast",
|
|
||||||
"CMAKE_CXX_FLAGS_DEBUG": "-Werror"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "ci-linux",
|
|
||||||
"generator": "Unix Makefiles",
|
|
||||||
"hidden": true,
|
|
||||||
"inherits": ["flags-linux"],
|
|
||||||
"cacheVariables": {
|
|
||||||
"CMAKE_BUILD_TYPE": "Debug"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "ci-build",
|
|
||||||
"binaryDir": "${sourceDir}/build",
|
|
||||||
"hidden": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "ci-ubuntu",
|
|
||||||
"inherits": ["ci-build", "ci-linux", "dev-mode"]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
21
LICENSE
@ -1,21 +0,0 @@
|
|||||||
The MIT License (MIT)
|
|
||||||
|
|
||||||
Copyright (c) 2016-2024 Michele Caini
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copy of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copy or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
456
README.md
@ -1,456 +0,0 @@
|
|||||||

|
|
||||||
|
|
||||||
[](https://github.com/skypjack/uvw/actions)
|
|
||||||
[](https://codecov.io/gh/skypjack/uvw)
|
|
||||||
[](https://skypjack.github.io/uvw/)
|
|
||||||
[](https://vcpkg.link/ports/uvw)
|
|
||||||
[](https://gitter.im/skypjack/uvw)
|
|
||||||
[](https://www.paypal.me/skypjack)
|
|
||||||
|
|
||||||
Do you have a **question** that doesn't require you to open an issue? Join the
|
|
||||||
[gitter channel](https://gitter.im/skypjack/uvw).<br/>
|
|
||||||
If you use `uvw` and you want to say thanks or support the project, please
|
|
||||||
**consider becoming a
|
|
||||||
[sponsor](https://github.com/users/skypjack/sponsorship)**.<br/>
|
|
||||||
You can help me make the difference.
|
|
||||||
[Many thanks](https://skypjack.github.io/sponsorship/) to those who supported me
|
|
||||||
and still support me today.
|
|
||||||
|
|
||||||
# Introduction
|
|
||||||
|
|
||||||
`uvw` started as a header-only, event based, tiny and easy to use wrapper for
|
|
||||||
[`libuv`](https://github.com/libuv/libuv) written in modern C++.<br/>
|
|
||||||
Now it's finally available also as a compilable static library.
|
|
||||||
|
|
||||||
The basic idea is to wrap the *C-ish* interface of `libuv` behind a graceful C++
|
|
||||||
API.<br/>
|
|
||||||
Note that `uvw` stays true to the API of `libuv` and it doesn't add anything to
|
|
||||||
its interface. For the same reasons, users of the library must follow the same
|
|
||||||
rules which are used with `libuv`.<br/>
|
|
||||||
As an example, a *handle* should be initialized before any other operation and
|
|
||||||
closed once it is no longer in use.
|
|
||||||
|
|
||||||
## Code Example
|
|
||||||
|
|
||||||
```cpp
|
|
||||||
#include <uvw.hpp>
|
|
||||||
#include <memory>
|
|
||||||
|
|
||||||
void listen(uvw::loop &loop) {
|
|
||||||
std::shared_ptr<uvw::tcp_handle> tcp = loop.resource<uvw::tcp_handle>();
|
|
||||||
|
|
||||||
tcp->on<uvw::listen_event>([](const uvw::listen_event &, uvw::tcp_handle &srv) {
|
|
||||||
std::shared_ptr<uvw::tcp_handle> client = srv.parent().resource<uvw::tcp_handle>();
|
|
||||||
|
|
||||||
client->on<uvw::close_event>([ptr = srv.shared_from_this()](const uvw::close_event &, uvw::tcp_handle &) { ptr->close(); });
|
|
||||||
client->on<uvw::end_event>([](const uvw::end_event &, uvw::tcp_handle &client) { client.close(); });
|
|
||||||
|
|
||||||
srv.accept(*client);
|
|
||||||
client->read();
|
|
||||||
});
|
|
||||||
|
|
||||||
tcp->bind("127.0.0.1", 4242);
|
|
||||||
tcp->listen();
|
|
||||||
}
|
|
||||||
|
|
||||||
void conn(uvw::loop &loop) {
|
|
||||||
auto tcp = loop.resource<uvw::tcp_handle>();
|
|
||||||
|
|
||||||
tcp->on<uvw::error_event>([](const uvw::error_event &, uvw::tcp_handle &) { /* handle errors */ });
|
|
||||||
|
|
||||||
tcp->on<uvw::connect_event>([](const uvw::connect_event &, uvw::tcp_handle &tcp) {
|
|
||||||
auto dataWrite = std::unique_ptr<char[]>(new char[2]{ 'b', 'c' });
|
|
||||||
tcp.write(std::move(dataWrite), 2);
|
|
||||||
tcp.close();
|
|
||||||
});
|
|
||||||
|
|
||||||
tcp->connect(std::string{"127.0.0.1"}, 4242);
|
|
||||||
}
|
|
||||||
|
|
||||||
int main() {
|
|
||||||
auto loop = uvw::loop::get_default();
|
|
||||||
listen(*loop);
|
|
||||||
conn(*loop);
|
|
||||||
loop->run();
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## Motivation
|
|
||||||
|
|
||||||
The main reason for which `uvw` has been written is the fact that there does not
|
|
||||||
exist a valid `libuv` wrapper in C++. That's all.
|
|
||||||
|
|
||||||
# Build Instructions
|
|
||||||
|
|
||||||
## Requirements
|
|
||||||
|
|
||||||
To be able to use `uvw`, users must provide the following system-wide tools:
|
|
||||||
|
|
||||||
* A full-featured compiler that supports at least C++17.
|
|
||||||
* `libuv` (which version depends on the tag of `uvw` in use)
|
|
||||||
* If you use `meson`, libuv will be downloaded for you
|
|
||||||
|
|
||||||
The requirements below are mandatory to compile the tests and to extract the
|
|
||||||
documentation:
|
|
||||||
|
|
||||||
* CMake version 3.13 or later.
|
|
||||||
* Doxygen version 1.8 or later.
|
|
||||||
|
|
||||||
Note that `libuv` is part of the dependencies of the project and may be cloned
|
|
||||||
by `CMake` in some cases (see below for further details).<br/>
|
|
||||||
Because of that, users don't have to install it to run the tests or when `uvw`
|
|
||||||
libraries are compiled through `CMake`.
|
|
||||||
|
|
||||||
## Meson
|
|
||||||
|
|
||||||
You can use `uvw` with [meson](https://mesonbuild.com/) by simply adding it to
|
|
||||||
your `subprojects` directory in your project.
|
|
||||||
|
|
||||||
To compile `uvw` from source without using it as a subproject, in the `uvw`
|
|
||||||
source directory, run:
|
|
||||||
|
|
||||||
* `$ meson setup build`
|
|
||||||
* If you want a static library, add `--default-library=static`
|
|
||||||
* `$ cd build`
|
|
||||||
* `$ meson compile`
|
|
||||||
|
|
||||||
## Library
|
|
||||||
|
|
||||||
`uvw` is a dual-mode library. It can be used in its header-only form or as a
|
|
||||||
compiled static library.<br/>
|
|
||||||
The following sections describe what to do in both cases to get `uvw` up and
|
|
||||||
runningin your own project.
|
|
||||||
|
|
||||||
### Header-only
|
|
||||||
|
|
||||||
To use `uvw` as a header-only library, all is needed is to include the `uvw.hpp`
|
|
||||||
header or one of the other `uvw/*.hpp` files.<br/>
|
|
||||||
It's a matter of adding the following line at the top of a file:
|
|
||||||
|
|
||||||
```cpp
|
|
||||||
#include <uvw.hpp>
|
|
||||||
```
|
|
||||||
|
|
||||||
Then pass the proper `-I` argument to the compiler to add the `src` directory to
|
|
||||||
the include paths.<br/>
|
|
||||||
Note that users are required to correctly setup the include directories and
|
|
||||||
libraries search paths for `libuv` in this case.
|
|
||||||
|
|
||||||
When used through `CMake`, the `uvw::uvw` target is exported for convenience.
|
|
||||||
|
|
||||||
### Static
|
|
||||||
|
|
||||||
To use `uvw` as a compiled library, set the `UVW_BUILD_LIBS` options in cmake
|
|
||||||
before including the project.<br/>
|
|
||||||
This option triggers the generation of a targets named
|
|
||||||
`uvw::uvw-static`. The matching version of `libuv` is also
|
|
||||||
compiled and exported as `uv::uv-static` for convenience.
|
|
||||||
|
|
||||||
In case you don't use or don't want to use `CMake`, you can still compile all
|
|
||||||
`.cpp` files and include all `.h` files to get the job done. In this case, users
|
|
||||||
are required to correctly setup the include directories and libraries search
|
|
||||||
paths for `libuv`.
|
|
||||||
|
|
||||||
## Versioning
|
|
||||||
|
|
||||||
Starting with tag _v1.12.0_ of `libuv`, `uvw` follows the
|
|
||||||
[semantic versioning](http://semver.org/) scheme.<br/>
|
|
||||||
The problem is that any version of `uvw` also requires to track explicitly the
|
|
||||||
version of `libuv` to which it is bound.<br/>
|
|
||||||
Because of that, the latter wil be appended to the version of `uvw`. As an
|
|
||||||
example:
|
|
||||||
|
|
||||||
vU.V.W_libuv-vX.Y
|
|
||||||
|
|
||||||
In particular, the following applies:
|
|
||||||
|
|
||||||
* _U.V.W_ are major, minor and patch versions of `uvw`.
|
|
||||||
* _X.Y_ is the version of `libuv` to which to refer (where any patch version is
|
|
||||||
valid).
|
|
||||||
|
|
||||||
In other terms, tags will look like this from now on:
|
|
||||||
|
|
||||||
v1.0.0_libuv-v1.12
|
|
||||||
|
|
||||||
Branch `master` of `uvw` will be a work in progress branch that follows branch
|
|
||||||
_v1.x_ of `libuv` (at least as long as it remains their _master_ branch).<br/>
|
|
||||||
|
|
||||||
## Documentation
|
|
||||||
|
|
||||||
The documentation is based on
|
|
||||||
[`doxygen`](https://www.doxygen.nl/). To build it:
|
|
||||||
|
|
||||||
* `$ cd build`
|
|
||||||
* `$ cmake ..`
|
|
||||||
* `$ make docs`
|
|
||||||
|
|
||||||
The API reference will be created in HTML format within the directory
|
|
||||||
`build/docs/html`.<br/>
|
|
||||||
To navigate it with your favorite browser:
|
|
||||||
|
|
||||||
* `$ cd build`
|
|
||||||
* `$ your_favorite_browser docs/html/index.html`
|
|
||||||
|
|
||||||
The same version is also available [online](https://skypjack.github.io/uvw/)
|
|
||||||
for the latest release, that is the last stable tag.
|
|
||||||
|
|
||||||
### Note
|
|
||||||
|
|
||||||
The documentation is mostly inspired by the official
|
|
||||||
[libuv API documentation](http://docs.libuv.org/en/v1.x/) for obvious
|
|
||||||
reasons.
|
|
||||||
|
|
||||||
## Tests
|
|
||||||
|
|
||||||
To compile and run the tests, `uvw` requires `libuv` and `googletest`.<br/>
|
|
||||||
`CMake` will download and compile both the libraries before compiling anything
|
|
||||||
else.
|
|
||||||
|
|
||||||
To build the tests:
|
|
||||||
|
|
||||||
* `$ cd build`
|
|
||||||
* `$ cmake .. -DUVW_BUILD_TESTING=ON`
|
|
||||||
* `$ make`
|
|
||||||
* `$ ctest -j4 -R uvw`
|
|
||||||
|
|
||||||
Omit `-R uvw` if you also want to test `libuv` and other dependencies.
|
|
||||||
|
|
||||||
# Crash Course
|
|
||||||
|
|
||||||
## Vademecum
|
|
||||||
|
|
||||||
There is only one rule when using `uvw`: always initialize the resources and
|
|
||||||
terminate them.
|
|
||||||
|
|
||||||
Resources belong mainly to two families: _handles_ and _requests_.<br/>
|
|
||||||
Handles represent long-lived objects capable of performing certain operations
|
|
||||||
while active.<br/>
|
|
||||||
Requests represent (typically) short-lived operations performed either over a
|
|
||||||
handle or standalone.
|
|
||||||
|
|
||||||
The following sections will explain in short what it means to initialize and
|
|
||||||
terminate these kinds of resources.<br/>
|
|
||||||
For more details, please refer to the
|
|
||||||
[online documentation](https://skypjack.github.io/uvw/).
|
|
||||||
|
|
||||||
## Handles
|
|
||||||
|
|
||||||
Initialization is usually performed under the hood and can be even passed over,
|
|
||||||
as far as handles are created using the `loop::resource` member function.<br/>
|
|
||||||
On the other side, handles keep themselves alive until one explicitly closes
|
|
||||||
them. Because of that, memory usage will grow if users simply forget about a
|
|
||||||
handle.<br/>
|
|
||||||
Therefore the rule quickly becomes *always close your handles*. It's as simple
|
|
||||||
as calling the `close` member function on them.
|
|
||||||
|
|
||||||
## Requests
|
|
||||||
|
|
||||||
Usually initializing a request object is not required. Anyway, the recommended
|
|
||||||
way to create a request is still through the `loop::resource` member
|
|
||||||
function.<br/>
|
|
||||||
Requests will keep themselves alive as long as they are bound to unfinished
|
|
||||||
underlying activities. This means that users don't have to discard a
|
|
||||||
request explicitly .<br/>
|
|
||||||
Therefore the rule quickly becomes *feel free to make a request and forget about
|
|
||||||
it*. It's as simple as calling a member function on them.
|
|
||||||
|
|
||||||
## The Loop and the Resource
|
|
||||||
|
|
||||||
The first thing to do to use `uvw` is to create a loop. In case the default one
|
|
||||||
is enough, it's easy as doing this:
|
|
||||||
|
|
||||||
```cpp
|
|
||||||
auto loop = uvw::loop::get_default();
|
|
||||||
```
|
|
||||||
|
|
||||||
Note that loop objects don't require being closed explicitly, even if they offer
|
|
||||||
the `close` member function in case a user wants to do that.<br/>
|
|
||||||
Loops can be started using the `run` member function. The two calls below are
|
|
||||||
equivalent:
|
|
||||||
|
|
||||||
```cpp
|
|
||||||
loop->run();
|
|
||||||
loop->run(uvw::loop::run_mode::DEFAULT);
|
|
||||||
```
|
|
||||||
|
|
||||||
Available modes are: `DEFAULT`, `ONCE`, `NOWAIT`. Please refer to the
|
|
||||||
documentation of `libuv` for further details.
|
|
||||||
|
|
||||||
In order to create a resource and to bind it to the given loop, just do the
|
|
||||||
following:
|
|
||||||
|
|
||||||
```cpp
|
|
||||||
auto tcp = loop->resource<uvw::tcp_handle>();
|
|
||||||
```
|
|
||||||
|
|
||||||
The line above creates and initializes a tcp handle, then a shared pointer to
|
|
||||||
that resource is returned.<br/>
|
|
||||||
Users should check if pointers have been correctly initialized: in case of
|
|
||||||
errors, they won't be.<br/>
|
|
||||||
It also is possible to create uninitialized resources to init later on as:
|
|
||||||
|
|
||||||
```cpp
|
|
||||||
auto tcp = loop->uninitialized_resource<uvw::tcp_handle>();
|
|
||||||
tcp->init();
|
|
||||||
```
|
|
||||||
|
|
||||||
All resources also accept arbitrary user-data that won't be touched in any
|
|
||||||
case.<br/>
|
|
||||||
Users can set and get them through the `data` member function as it follows:
|
|
||||||
|
|
||||||
```cpp
|
|
||||||
resource->data(std::make_shared<int>(42));
|
|
||||||
std::shared_ptr<void> data = resource->data();
|
|
||||||
```
|
|
||||||
|
|
||||||
Resources expect a `std::shared_pointer<void>` and return it, therefore any kind
|
|
||||||
of data is welcome.<br/>
|
|
||||||
Users can explicitly specify a type other than `void` when calling the `data`
|
|
||||||
member function:
|
|
||||||
|
|
||||||
```cpp
|
|
||||||
std::shared_ptr<int> data = resource->data<int>();
|
|
||||||
```
|
|
||||||
|
|
||||||
Remember from the previous section that a handle will keep itself alive until
|
|
||||||
one invokes the `close` member function on it.<br/>
|
|
||||||
To know what are the handles that are still alive and bound to a given loop,
|
|
||||||
there exists the `walk` member function. It returns handles with their types.
|
|
||||||
Therefore, the use of `overloaded` is recommended to be able to intercept all
|
|
||||||
types of interest:
|
|
||||||
|
|
||||||
```cpp
|
|
||||||
handle.parent().walk(uvw::overloaded{
|
|
||||||
[](uvw::timer_handle &h){ /* application code for timers here */ },
|
|
||||||
[](auto &&){ /* ignore all other types */ }
|
|
||||||
});
|
|
||||||
```
|
|
||||||
|
|
||||||
This function can also be used for a completely generic approach. For example,
|
|
||||||
all the pending handles can be closed easily as it follows:
|
|
||||||
|
|
||||||
```cpp
|
|
||||||
loop->walk([](auto &&h){ h.close(); });
|
|
||||||
```
|
|
||||||
|
|
||||||
No need to keep track of them.
|
|
||||||
|
|
||||||
## The event-based approach
|
|
||||||
|
|
||||||
`uvw` offers an event-based approach where resources are small event emitters to
|
|
||||||
which listeners are attached.<br/>
|
|
||||||
Attaching listeners to resources is the recommended way to receive notifications
|
|
||||||
about their operations.<br/>
|
|
||||||
Listeners are callable objects of type `void(event_type &, resource_type &)`,
|
|
||||||
where:
|
|
||||||
|
|
||||||
* `event_type` is the type of the event for which they have been designed.
|
|
||||||
* `resource_type` is the type of the resource that has originated the event.
|
|
||||||
|
|
||||||
It means that the following function types are all valid:
|
|
||||||
|
|
||||||
* `void(event_type &, resource_type &)`
|
|
||||||
* `void(const event_type &, resource_type &)`
|
|
||||||
* `void(event_type &, const resource_type &)`
|
|
||||||
* `void(const event_type &, const resource_type &)`
|
|
||||||
|
|
||||||
Please note that there is no need to keep around references to the resources,
|
|
||||||
since they pass themselves as an argument whenever an event is published.<br/>
|
|
||||||
The `on` member function is the way to go to register long-running listeners:
|
|
||||||
|
|
||||||
```cpp
|
|
||||||
resource.on<event_type>(listener)
|
|
||||||
```
|
|
||||||
|
|
||||||
To know if a listener exists for a given type, the class offers a `has` function
|
|
||||||
template. Similarly, the `reset` function template is be used to reset and thus
|
|
||||||
disconnect listeners, if any. A non-template version of `reset` also exists to
|
|
||||||
clear an emitter as a whole.
|
|
||||||
|
|
||||||
Almost all the resources emit `error_event` in case of errors.<br/>
|
|
||||||
All the other events are specific for the given resource and documented in the
|
|
||||||
API reference.
|
|
||||||
|
|
||||||
The code below shows how to create a simple tcp server using `uvw`:
|
|
||||||
|
|
||||||
```cpp
|
|
||||||
auto loop = uvw::loop::get_default();
|
|
||||||
auto tcp = loop->resource<uvw::tcp_handle>();
|
|
||||||
|
|
||||||
tcp->on<uvw::error_event>([](const uvw::error_event &, uvw::tcp_handle &) { /* something went wrong */ });
|
|
||||||
|
|
||||||
tcp->on<uvw::listen_event>([](const uvw::listen_event &, uvw::tcp_handle &srv) {
|
|
||||||
std::shared_ptr<uvw::tcp_handle> client = srv.parent().resource<uvw::tcp_handle>();
|
|
||||||
client->on<uvw::end_event>([](const uvw::end_event &, uvw::tcp_handle &client) { client.close(); });
|
|
||||||
client->on<uvw::data_event>([](const uvw::data_event &, uvw::tcp_handle &) { /* data received */ });
|
|
||||||
srv.accept(*client);
|
|
||||||
client->read();
|
|
||||||
});
|
|
||||||
|
|
||||||
tcp->bind("127.0.0.1", 4242);
|
|
||||||
tcp->listen();
|
|
||||||
```
|
|
||||||
|
|
||||||
Note also that `uvw::tcp_handle` already supports _IPv6_ out-of-the-box.<br/>
|
|
||||||
The API reference is the recommended documentation for further details about
|
|
||||||
resources and their methods.
|
|
||||||
|
|
||||||
## Going raw
|
|
||||||
|
|
||||||
In case users need to use functionalities not wrapped yet by `uvw` or if they
|
|
||||||
want to get the underlying data structures as defined by `libuv` for some other
|
|
||||||
reasons, almost all the classes in `uvw` give direct access to them.<br/>
|
|
||||||
Please, note that this functions should not be used directly unless users know
|
|
||||||
exactly what they are doing and what are the risks. Going raw is dangerous,
|
|
||||||
mainly because the lifetime management of a loop, a handle or a request is
|
|
||||||
completely controlled by the library and working around it could quickly break
|
|
||||||
things.
|
|
||||||
|
|
||||||
That being said, _going raw_ is a matter of using the `raw` member functions:
|
|
||||||
|
|
||||||
```cpp
|
|
||||||
auto loop = uvw::loop::get_default();
|
|
||||||
auto tcp = loop->resource<uvw::tcp_handle>();
|
|
||||||
|
|
||||||
uv_loop_t *raw = loop->raw();
|
|
||||||
uv_tcp_t *handle = tcp->raw();
|
|
||||||
```
|
|
||||||
|
|
||||||
Go the raw way at your own risk, but do not expect any support in case of bugs.
|
|
||||||
|
|
||||||
|
|
||||||
# Related projects
|
|
||||||
|
|
||||||
Interested in additional tools and libraries that build upon `uvw`? You might
|
|
||||||
find the following useful then:
|
|
||||||
|
|
||||||
- [`uvw_net`](https://github.com/mincequi/uvw_net): a networking library with a
|
|
||||||
collection of clients (HTTP/Modbus/SunSpec) that also includes discovery
|
|
||||||
impementations like dns-sd/mdns.
|
|
||||||
|
|
||||||
Feel free to add your tool to the list if you like.
|
|
||||||
|
|
||||||
# Contributors
|
|
||||||
|
|
||||||
If you want to contribute, please send patches as pull requests against the
|
|
||||||
branch master.<br/>
|
|
||||||
Check the
|
|
||||||
[contributors list](https://github.com/skypjack/uvw/blob/master/AUTHORS) to see
|
|
||||||
who has partecipated so far.
|
|
||||||
|
|
||||||
# License
|
|
||||||
|
|
||||||
Code and documentation Copyright (c) 2016-2024 Michele Caini.<br/>
|
|
||||||
Logo Copyright (c) 2018-2021 Richard Caseres.
|
|
||||||
|
|
||||||
Code and documentation released under
|
|
||||||
[the MIT license](https://github.com/skypjack/uvw/blob/master/LICENSE).<br/>
|
|
||||||
Logo released under
|
|
||||||
[CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/).
|
|
||||||
|
|
||||||
# Support
|
|
||||||
|
|
||||||
If you want to support this project, you can
|
|
||||||
[offer me](https://github.com/users/skypjack/sponsorship) an espresso.<br/>
|
|
||||||
If you find that it's not enough, feel free to
|
|
||||||
[help me](https://www.paypal.me/skypjack) the way you prefer.
|
|
||||||
5
TODO
@ -1,5 +0,0 @@
|
|||||||
* do not send error events when the return value is enough (still wip)
|
|
||||||
* also cleanup error event mentions in the doc
|
|
||||||
* Make all tests pass on all platforms
|
|
||||||
* add iwyu and clean up everything
|
|
||||||
* Allocator support
|
|
||||||
158
annotated.html
Normal file
@ -0,0 +1,158 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.9.6"/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
|
<title>uvw: Class List</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||||
|
<script type="text/javascript" src="search/search.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr id="projectrow">
|
||||||
|
<td id="projectalign">
|
||||||
|
<div id="projectname">uvw<span id="projectnumber"> 3.1.0</span>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.9.6 -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" src="menudata.js"></script>
|
||||||
|
<script type="text/javascript" src="menu.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
$(function() {
|
||||||
|
initMenu('',true,false,'search.php','Search');
|
||||||
|
$(document).ready(function() { init_search(); });
|
||||||
|
});
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<div id="main-nav"></div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<!-- window showing the filter options -->
|
||||||
|
<div id="MSearchSelectWindow"
|
||||||
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||||
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||||
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- iframe showing the search results (closed by default) -->
|
||||||
|
<div id="MSearchResultsWindow">
|
||||||
|
<div id="MSearchResults">
|
||||||
|
<div class="SRPage">
|
||||||
|
<div id="SRIndex">
|
||||||
|
<div id="SRResults"></div>
|
||||||
|
<div class="SRStatus" id="Loading">Loading...</div>
|
||||||
|
<div class="SRStatus" id="Searching">Searching...</div>
|
||||||
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle"><div class="title">Class List</div></div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
|
||||||
|
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span>]</div><table class="directory">
|
||||||
|
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">▼</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceuvw.html" target="_self">uvw</a></td><td class="desc"><code>uvw</code> default namespace </td></tr>
|
||||||
|
<tr id="row_0_0_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1addr__info__event.html" target="_self">addr_info_event</a></td><td class="desc">The addrinfo event </td></tr>
|
||||||
|
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1async__event.html" target="_self">async_event</a></td><td class="desc">Async event </td></tr>
|
||||||
|
<tr id="row_0_2_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1async__handle.html" target="_self">async_handle</a></td><td class="desc">The async handle </td></tr>
|
||||||
|
<tr id="row_0_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1barrier.html" target="_self">barrier</a></td><td class="desc">The barrier wrapper </td></tr>
|
||||||
|
<tr id="row_0_4_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1check__event.html" target="_self">check_event</a></td><td class="desc">Check event </td></tr>
|
||||||
|
<tr id="row_0_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1check__handle.html" target="_self">check_handle</a></td><td class="desc">The check handle </td></tr>
|
||||||
|
<tr id="row_0_6_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1close__event.html" target="_self">close_event</a></td><td class="desc">Close event </td></tr>
|
||||||
|
<tr id="row_0_7_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1condition.html" target="_self">condition</a></td><td class="desc">The condition wrapper </td></tr>
|
||||||
|
<tr id="row_0_8_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1connect__event.html" target="_self">connect_event</a></td><td class="desc">Connect event </td></tr>
|
||||||
|
<tr id="row_0_9_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1cpu__info.html" target="_self">cpu_info</a></td><td class="desc">CPU information </td></tr>
|
||||||
|
<tr id="row_0_10_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1data__event.html" target="_self">data_event</a></td><td class="desc">Data event </td></tr>
|
||||||
|
<tr id="row_0_11_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1emitter.html" target="_self">emitter</a></td><td class="desc">Event emitter base class </td></tr>
|
||||||
|
<tr id="row_0_12_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1end__event.html" target="_self">end_event</a></td><td class="desc">End event </td></tr>
|
||||||
|
<tr id="row_0_13_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1error__event.html" target="_self">error_event</a></td><td class="desc">Error event </td></tr>
|
||||||
|
<tr id="row_0_14_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1exit__event.html" target="_self">exit_event</a></td><td class="desc">Exit event </td></tr>
|
||||||
|
<tr id="row_0_15_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1file__req.html" target="_self">file_req</a></td><td class="desc">The file request </td></tr>
|
||||||
|
<tr id="row_0_16_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1fs__event.html" target="_self">fs_event</a></td><td class="desc">Common fs event </td></tr>
|
||||||
|
<tr id="row_0_17_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1fs__event__event.html" target="_self">fs_event_event</a></td><td class="desc">Fs event event </td></tr>
|
||||||
|
<tr id="row_0_18_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1fs__event__handle.html" target="_self">fs_event_handle</a></td><td class="desc">The fs event handle </td></tr>
|
||||||
|
<tr id="row_0_19_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1fs__helper.html" target="_self">fs_helper</a></td><td class="desc">Helper functions </td></tr>
|
||||||
|
<tr id="row_0_20_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1fs__poll__event.html" target="_self">fs_poll_event</a></td><td class="desc">Fs pos event </td></tr>
|
||||||
|
<tr id="row_0_21_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1fs__poll__handle.html" target="_self">fs_poll_handle</a></td><td class="desc">The fs poll handle </td></tr>
|
||||||
|
<tr id="row_0_22_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1fs__req.html" target="_self">fs_req</a></td><td class="desc">The fs request </td></tr>
|
||||||
|
<tr id="row_0_23_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1fs__request.html" target="_self">fs_request</a></td><td class="desc">Base class for fs/file request </td></tr>
|
||||||
|
<tr id="row_0_24_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1get__addr__info__req.html" target="_self">get_addr_info_req</a></td><td class="desc">The getaddrinfo request </td></tr>
|
||||||
|
<tr id="row_0_25_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1get__name__info__req.html" target="_self">get_name_info_req</a></td><td class="desc">The getnameinfo request </td></tr>
|
||||||
|
<tr id="row_0_26_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1handle.html" target="_self">handle</a></td><td class="desc">Handle base class </td></tr>
|
||||||
|
<tr id="row_0_27_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1idle__event.html" target="_self">idle_event</a></td><td class="desc">Idle event </td></tr>
|
||||||
|
<tr id="row_0_28_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1idle__handle.html" target="_self">idle_handle</a></td><td class="desc">The idle handle </td></tr>
|
||||||
|
<tr id="row_0_29_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1interface__address.html" target="_self">interface_address</a></td><td class="desc">Interface address </td></tr>
|
||||||
|
<tr id="row_0_30_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1ipv4.html" target="_self">ipv4</a></td><td class="desc">The IPv4 tag </td></tr>
|
||||||
|
<tr id="row_0_31_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1ipv6.html" target="_self">ipv6</a></td><td class="desc">The IPv6 tag </td></tr>
|
||||||
|
<tr id="row_0_32_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1listen__event.html" target="_self">listen_event</a></td><td class="desc">Listen event </td></tr>
|
||||||
|
<tr id="row_0_33_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1loop.html" target="_self">loop</a></td><td class="desc">The loop class </td></tr>
|
||||||
|
<tr id="row_0_34_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1mutex.html" target="_self">mutex</a></td><td class="desc">The mutex wrapper </td></tr>
|
||||||
|
<tr id="row_0_35_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1name__info__event.html" target="_self">name_info_event</a></td><td class="desc">The nameinfo event </td></tr>
|
||||||
|
<tr id="row_0_36_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1once.html" target="_self">once</a></td><td class="desc">The once wrapper </td></tr>
|
||||||
|
<tr id="row_0_37_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1overloaded.html" target="_self">overloaded</a></td><td class="desc">Helper type for visitors </td></tr>
|
||||||
|
<tr id="row_0_38_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1passwd__info.html" target="_self">passwd_info</a></td><td class="desc">Utility class </td></tr>
|
||||||
|
<tr id="row_0_39_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1pipe__handle.html" target="_self">pipe_handle</a></td><td class="desc">The pipe handle </td></tr>
|
||||||
|
<tr id="row_0_40_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1poll__event.html" target="_self">poll_event</a></td><td class="desc">Poll event </td></tr>
|
||||||
|
<tr id="row_0_41_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1poll__handle.html" target="_self">poll_handle</a></td><td class="desc">The poll handle </td></tr>
|
||||||
|
<tr id="row_0_42_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1prepare__event.html" target="_self">prepare_event</a></td><td class="desc">Prepare event </td></tr>
|
||||||
|
<tr id="row_0_43_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1prepare__handle.html" target="_self">prepare_handle</a></td><td class="desc">The prepare handle </td></tr>
|
||||||
|
<tr id="row_0_44_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1process__handle.html" target="_self">process_handle</a></td><td class="desc">The process handle </td></tr>
|
||||||
|
<tr id="row_0_45_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1request.html" target="_self">request</a></td><td class="desc">Request base class </td></tr>
|
||||||
|
<tr id="row_0_46_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1resource.html" target="_self">resource</a></td><td class="desc">Common class for almost all the resources available in <code>uvw</code> </td></tr>
|
||||||
|
<tr id="row_0_47_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1rwlock.html" target="_self">rwlock</a></td><td class="desc">The rwlock wrapper </td></tr>
|
||||||
|
<tr id="row_0_48_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1semaphore.html" target="_self">semaphore</a></td><td class="desc">The semaphore wrapper </td></tr>
|
||||||
|
<tr id="row_0_49_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1send__event.html" target="_self">send_event</a></td><td class="desc">Send event </td></tr>
|
||||||
|
<tr id="row_0_50_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1shared__lib.html" target="_self">shared_lib</a></td><td class="desc">The shared lib class </td></tr>
|
||||||
|
<tr id="row_0_51_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1shutdown__event.html" target="_self">shutdown_event</a></td><td class="desc">Shutdown event </td></tr>
|
||||||
|
<tr id="row_0_52_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1signal__event.html" target="_self">signal_event</a></td><td class="desc">Signal event </td></tr>
|
||||||
|
<tr id="row_0_53_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1signal__handle.html" target="_self">signal_handle</a></td><td class="desc">The signal handle </td></tr>
|
||||||
|
<tr id="row_0_54_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1socket__address.html" target="_self">socket_address</a></td><td class="desc">Address representation </td></tr>
|
||||||
|
<tr id="row_0_55_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1stream__handle.html" target="_self">stream_handle</a></td><td class="desc">The stream handle </td></tr>
|
||||||
|
<tr id="row_0_56_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1tcp__handle.html" target="_self">tcp_handle</a></td><td class="desc">The TCP handle </td></tr>
|
||||||
|
<tr id="row_0_57_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1thread.html" target="_self">thread</a></td><td class="desc">The thread wrapper </td></tr>
|
||||||
|
<tr id="row_0_58_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1thread__local__storage.html" target="_self">thread_local_storage</a></td><td class="desc">The thread local storage wrapper </td></tr>
|
||||||
|
<tr id="row_0_59_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1timer__event.html" target="_self">timer_event</a></td><td class="desc">Timer event </td></tr>
|
||||||
|
<tr id="row_0_60_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1timer__handle.html" target="_self">timer_handle</a></td><td class="desc">The timer handle </td></tr>
|
||||||
|
<tr id="row_0_61_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1tty__handle.html" target="_self">tty_handle</a></td><td class="desc">The tty handle </td></tr>
|
||||||
|
<tr id="row_0_62_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1udp__data__event.html" target="_self">udp_data_event</a></td><td class="desc">UDP data event </td></tr>
|
||||||
|
<tr id="row_0_63_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1udp__handle.html" target="_self">udp_handle</a></td><td class="desc">The UDP handle </td></tr>
|
||||||
|
<tr id="row_0_64_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_64_" class="arrow" onclick="toggleFolder('0_64_')">▼</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1utilities.html" target="_self">utilities</a></td><td class="desc">Miscellaneous utilities </td></tr>
|
||||||
|
<tr id="row_0_64_0_" class="even"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1utilities_1_1os.html" target="_self">os</a></td><td class="desc">OS dedicated utilities </td></tr>
|
||||||
|
<tr id="row_0_65_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1uts__name.html" target="_self">uts_name</a></td><td class="desc">Utility class </td></tr>
|
||||||
|
<tr id="row_0_66_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1uv__type.html" target="_self">uv_type</a></td><td class="desc">Wrapper class for underlying types </td></tr>
|
||||||
|
<tr id="row_0_67_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1win__size.html" target="_self">win_size</a></td><td class="desc">Windows size representation </td></tr>
|
||||||
|
<tr id="row_0_68_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1work__event.html" target="_self">work_event</a></td><td class="desc">Work event </td></tr>
|
||||||
|
<tr id="row_0_69_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvw_1_1work__req.html" target="_self">work_req</a></td><td class="desc">The work request </td></tr>
|
||||||
|
<tr id="row_0_70_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structuvw_1_1write__event.html" target="_self">write_event</a></td><td class="desc">Write event </td></tr>
|
||||||
|
</table>
|
||||||
|
</div><!-- directory -->
|
||||||
|
</div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.6
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
120
async_8h_source.html
Normal file
@ -0,0 +1,120 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.9.6"/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
|
<title>uvw: src/uvw/async.h Source File</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||||
|
<script type="text/javascript" src="search/search.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr id="projectrow">
|
||||||
|
<td id="projectalign">
|
||||||
|
<div id="projectname">uvw<span id="projectnumber"> 3.1.0</span>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.9.6 -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" src="menudata.js"></script>
|
||||||
|
<script type="text/javascript" src="menu.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
$(function() {
|
||||||
|
initMenu('',true,false,'search.php','Search');
|
||||||
|
$(document).ready(function() { init_search(); });
|
||||||
|
});
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<div id="main-nav"></div>
|
||||||
|
<!-- window showing the filter options -->
|
||||||
|
<div id="MSearchSelectWindow"
|
||||||
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||||
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||||
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- iframe showing the search results (closed by default) -->
|
||||||
|
<div id="MSearchResultsWindow">
|
||||||
|
<div id="MSearchResults">
|
||||||
|
<div class="SRPage">
|
||||||
|
<div id="SRIndex">
|
||||||
|
<div id="SRResults"></div>
|
||||||
|
<div class="SRStatus" id="Loading">Loading...</div>
|
||||||
|
<div class="SRStatus" id="Searching">Searching...</div>
|
||||||
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_98934c98f70735fe3a272005a9eb8736.html">uvw</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle"><div class="title">async.h</div></div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef UVW_ASYNC_INCLUDE_H</span></div>
|
||||||
|
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define UVW_ASYNC_INCLUDE_H</span></div>
|
||||||
|
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
|
||||||
|
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include <uv.h></span></div>
|
||||||
|
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include "handle.hpp"</span></div>
|
||||||
|
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include "loop.h"</span></div>
|
||||||
|
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div>
|
||||||
|
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"><a class="line" href="namespaceuvw.html"> 8</a></span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespaceuvw.html">uvw</a> {</div>
|
||||||
|
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> </div>
|
||||||
|
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"><a class="line" href="structuvw_1_1async__event.html"> 11</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structuvw_1_1async__event.html">async_event</a> {};</div>
|
||||||
|
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> </div>
|
||||||
|
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"><a class="line" href="classuvw_1_1async__handle.html"> 21</a></span><span class="keyword">class </span><a class="code hl_class" href="classuvw_1_1async__handle.html">async_handle</a> final: <span class="keyword">public</span> <a class="code hl_class" href="classuvw_1_1handle.html">handle</a><async_handle, uv_async_t, async_event> {</div>
|
||||||
|
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> <span class="keyword">static</span> <span class="keywordtype">void</span> send_callback(uv_async_t *hndl);</div>
|
||||||
|
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
|
||||||
|
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="keyword">public</span>:</div>
|
||||||
|
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> <span class="keyword">using </span>handle::handle;</div>
|
||||||
|
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
|
||||||
|
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="classuvw_1_1async__handle.html#a65106a2ce19563ac1ca8a465bf4976ae"> 35</a></span> <span class="keywordtype">int</span> <a class="code hl_function" href="classuvw_1_1async__handle.html#a65106a2ce19563ac1ca8a465bf4976ae">init</a>() final;</div>
|
||||||
|
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> </div>
|
||||||
|
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="classuvw_1_1async__handle.html#ac116dd3e44f3f7c9adbb0ee1cebca13f"> 49</a></span> <span class="keywordtype">int</span> <a class="code hl_function" href="classuvw_1_1async__handle.html#ac116dd3e44f3f7c9adbb0ee1cebca13f">send</a>();</div>
|
||||||
|
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span>};</div>
|
||||||
|
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> </div>
|
||||||
|
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span>} <span class="comment">// namespace uvw</span></div>
|
||||||
|
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> </div>
|
||||||
|
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="preprocessor">#ifndef UVW_AS_LIB</span></div>
|
||||||
|
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span><span class="preprocessor"># include "async.cpp"</span></div>
|
||||||
|
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span><span class="preprocessor">#endif</span></div>
|
||||||
|
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> </div>
|
||||||
|
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span><span class="preprocessor">#endif </span><span class="comment">// UVW_ASYNC_INCLUDE_H</span></div>
|
||||||
|
<div class="ttc" id="aclassuvw_1_1async__handle_html"><div class="ttname"><a href="classuvw_1_1async__handle.html">uvw::async_handle</a></div><div class="ttdoc">The async handle.</div><div class="ttdef"><b>Definition:</b> <a href="async_8h_source.html#l00021">async.h:21</a></div></div>
|
||||||
|
<div class="ttc" id="aclassuvw_1_1async__handle_html_a65106a2ce19563ac1ca8a465bf4976ae"><div class="ttname"><a href="classuvw_1_1async__handle.html#a65106a2ce19563ac1ca8a465bf4976ae">uvw::async_handle::init</a></div><div class="ttdeci">int init() final</div><div class="ttdoc">Initializes the handle.</div></div>
|
||||||
|
<div class="ttc" id="aclassuvw_1_1async__handle_html_ac116dd3e44f3f7c9adbb0ee1cebca13f"><div class="ttname"><a href="classuvw_1_1async__handle.html#ac116dd3e44f3f7c9adbb0ee1cebca13f">uvw::async_handle::send</a></div><div class="ttdeci">int send()</div><div class="ttdoc">Wakeups the event loop and emits the async event.</div></div>
|
||||||
|
<div class="ttc" id="aclassuvw_1_1handle_html"><div class="ttname"><a href="classuvw_1_1handle.html">uvw::handle</a></div><div class="ttdoc">Handle base class.</div><div class="ttdef"><b>Definition:</b> <a href="handle_8hpp_source.html#l00023">handle.hpp:23</a></div></div>
|
||||||
|
<div class="ttc" id="anamespaceuvw_html"><div class="ttname"><a href="namespaceuvw.html">uvw</a></div><div class="ttdoc">uvw default namespace.</div><div class="ttdef"><b>Definition:</b> <a href="async_8h_source.html#l00008">async.h:8</a></div></div>
|
||||||
|
<div class="ttc" id="astructuvw_1_1async__event_html"><div class="ttname"><a href="structuvw_1_1async__event.html">uvw::async_event</a></div><div class="ttdoc">Async event.</div><div class="ttdef"><b>Definition:</b> <a href="async_8h_source.html#l00011">async.h:11</a></div></div>
|
||||||
|
</div><!-- fragment --></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.6
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
2
build/.gitignore
vendored
@ -1,2 +0,0 @@
|
|||||||
*
|
|
||||||
!.gitignore
|
|
||||||
123
check_8h_source.html
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.9.6"/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
|
<title>uvw: src/uvw/check.h Source File</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||||
|
<script type="text/javascript" src="search/search.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr id="projectrow">
|
||||||
|
<td id="projectalign">
|
||||||
|
<div id="projectname">uvw<span id="projectnumber"> 3.1.0</span>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.9.6 -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" src="menudata.js"></script>
|
||||||
|
<script type="text/javascript" src="menu.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
$(function() {
|
||||||
|
initMenu('',true,false,'search.php','Search');
|
||||||
|
$(document).ready(function() { init_search(); });
|
||||||
|
});
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<div id="main-nav"></div>
|
||||||
|
<!-- window showing the filter options -->
|
||||||
|
<div id="MSearchSelectWindow"
|
||||||
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||||
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||||
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- iframe showing the search results (closed by default) -->
|
||||||
|
<div id="MSearchResultsWindow">
|
||||||
|
<div id="MSearchResults">
|
||||||
|
<div class="SRPage">
|
||||||
|
<div id="SRIndex">
|
||||||
|
<div id="SRResults"></div>
|
||||||
|
<div class="SRStatus" id="Loading">Loading...</div>
|
||||||
|
<div class="SRStatus" id="Searching">Searching...</div>
|
||||||
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_98934c98f70735fe3a272005a9eb8736.html">uvw</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle"><div class="title">check.h</div></div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="preprocessor">#ifndef UVW_CHECK_INCLUDE_H</span></div>
|
||||||
|
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="preprocessor">#define UVW_CHECK_INCLUDE_H</span></div>
|
||||||
|
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span> </div>
|
||||||
|
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="preprocessor">#include <uv.h></span></div>
|
||||||
|
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="preprocessor">#include "handle.hpp"</span></div>
|
||||||
|
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="preprocessor">#include "loop.h"</span></div>
|
||||||
|
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> </div>
|
||||||
|
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespaceuvw.html">uvw</a> {</div>
|
||||||
|
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span> </div>
|
||||||
|
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"><a class="line" href="structuvw_1_1check__event.html"> 11</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structuvw_1_1check__event.html">check_event</a> {};</div>
|
||||||
|
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> </div>
|
||||||
|
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"><a class="line" href="classuvw_1_1check__handle.html"> 21</a></span><span class="keyword">class </span><a class="code hl_class" href="classuvw_1_1check__handle.html">check_handle</a> final: <span class="keyword">public</span> <a class="code hl_class" href="classuvw_1_1handle.html">handle</a><check_handle, uv_check_t, check_event> {</div>
|
||||||
|
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> <span class="keyword">static</span> <span class="keywordtype">void</span> start_callback(uv_check_t *hndl);</div>
|
||||||
|
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
|
||||||
|
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="keyword">public</span>:</div>
|
||||||
|
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> <span class="keyword">using </span>handle::handle;</div>
|
||||||
|
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
|
||||||
|
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"><a class="line" href="classuvw_1_1check__handle.html#a37750db5bc6d0509e2b0ba5505479572"> 31</a></span> <span class="keywordtype">int</span> <a class="code hl_function" href="classuvw_1_1check__handle.html#a37750db5bc6d0509e2b0ba5505479572">init</a>() final;</div>
|
||||||
|
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> </div>
|
||||||
|
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"><a class="line" href="classuvw_1_1check__handle.html#adf7402458f2d172965daff5879d08fe9"> 41</a></span> <span class="keywordtype">int</span> <a class="code hl_function" href="classuvw_1_1check__handle.html#adf7402458f2d172965daff5879d08fe9">start</a>();</div>
|
||||||
|
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> </div>
|
||||||
|
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"><a class="line" href="classuvw_1_1check__handle.html#a98bf089fdff6c9f505927429c65c0089"> 47</a></span> <span class="keywordtype">int</span> <a class="code hl_function" href="classuvw_1_1check__handle.html#a98bf089fdff6c9f505927429c65c0089">stop</a>();</div>
|
||||||
|
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span>};</div>
|
||||||
|
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> </div>
|
||||||
|
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span>} <span class="comment">// namespace uvw</span></div>
|
||||||
|
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> </div>
|
||||||
|
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="preprocessor">#ifndef UVW_AS_LIB</span></div>
|
||||||
|
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="preprocessor"># include "check.cpp"</span></div>
|
||||||
|
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="preprocessor">#endif</span></div>
|
||||||
|
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> </div>
|
||||||
|
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span><span class="preprocessor">#endif </span><span class="comment">// UVW_CHECK_INCLUDE_H</span></div>
|
||||||
|
<div class="ttc" id="aclassuvw_1_1check__handle_html"><div class="ttname"><a href="classuvw_1_1check__handle.html">uvw::check_handle</a></div><div class="ttdoc">The check handle.</div><div class="ttdef"><b>Definition:</b> <a href="check_8h_source.html#l00021">check.h:21</a></div></div>
|
||||||
|
<div class="ttc" id="aclassuvw_1_1check__handle_html_a37750db5bc6d0509e2b0ba5505479572"><div class="ttname"><a href="classuvw_1_1check__handle.html#a37750db5bc6d0509e2b0ba5505479572">uvw::check_handle::init</a></div><div class="ttdeci">int init() final</div><div class="ttdoc">Initializes the handle.</div></div>
|
||||||
|
<div class="ttc" id="aclassuvw_1_1check__handle_html_a98bf089fdff6c9f505927429c65c0089"><div class="ttname"><a href="classuvw_1_1check__handle.html#a98bf089fdff6c9f505927429c65c0089">uvw::check_handle::stop</a></div><div class="ttdeci">int stop()</div><div class="ttdoc">Stops the handle.</div></div>
|
||||||
|
<div class="ttc" id="aclassuvw_1_1check__handle_html_adf7402458f2d172965daff5879d08fe9"><div class="ttname"><a href="classuvw_1_1check__handle.html#adf7402458f2d172965daff5879d08fe9">uvw::check_handle::start</a></div><div class="ttdeci">int start()</div><div class="ttdoc">Starts the handle.</div></div>
|
||||||
|
<div class="ttc" id="aclassuvw_1_1handle_html"><div class="ttname"><a href="classuvw_1_1handle.html">uvw::handle</a></div><div class="ttdoc">Handle base class.</div><div class="ttdef"><b>Definition:</b> <a href="handle_8hpp_source.html#l00023">handle.hpp:23</a></div></div>
|
||||||
|
<div class="ttc" id="anamespaceuvw_html"><div class="ttname"><a href="namespaceuvw.html">uvw</a></div><div class="ttdoc">uvw default namespace.</div><div class="ttdef"><b>Definition:</b> <a href="async_8h_source.html#l00008">async.h:8</a></div></div>
|
||||||
|
<div class="ttc" id="astructuvw_1_1check__event_html"><div class="ttname"><a href="structuvw_1_1check__event.html">uvw::check_event</a></div><div class="ttdoc">Check event.</div><div class="ttdef"><b>Definition:</b> <a href="check_8h_source.html#l00011">check.h:11</a></div></div>
|
||||||
|
</div><!-- fragment --></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.6
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
141
classes.html
Normal file
@ -0,0 +1,141 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.9.6"/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
|
<title>uvw: Class Index</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||||
|
<script type="text/javascript" src="search/search.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr id="projectrow">
|
||||||
|
<td id="projectalign">
|
||||||
|
<div id="projectname">uvw<span id="projectnumber"> 3.1.0</span>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.9.6 -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" src="menudata.js"></script>
|
||||||
|
<script type="text/javascript" src="menu.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
$(function() {
|
||||||
|
initMenu('',true,false,'search.php','Search');
|
||||||
|
$(document).ready(function() { init_search(); });
|
||||||
|
});
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<div id="main-nav"></div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<!-- window showing the filter options -->
|
||||||
|
<div id="MSearchSelectWindow"
|
||||||
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||||
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||||
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- iframe showing the search results (closed by default) -->
|
||||||
|
<div id="MSearchResultsWindow">
|
||||||
|
<div id="MSearchResults">
|
||||||
|
<div class="SRPage">
|
||||||
|
<div id="SRIndex">
|
||||||
|
<div id="SRResults"></div>
|
||||||
|
<div class="SRStatus" id="Loading">Loading...</div>
|
||||||
|
<div class="SRStatus" id="Searching">Searching...</div>
|
||||||
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle"><div class="title">Class Index</div></div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
<div class="qindex"><a class="qindex" href="#letter_A">A</a> | <a class="qindex" href="#letter_B">B</a> | <a class="qindex" href="#letter_C">C</a> | <a class="qindex" href="#letter_D">D</a> | <a class="qindex" href="#letter_E">E</a> | <a class="qindex" href="#letter_F">F</a> | <a class="qindex" href="#letter_G">G</a> | <a class="qindex" href="#letter_H">H</a> | <a class="qindex" href="#letter_I">I</a> | <a class="qindex" href="#letter_L">L</a> | <a class="qindex" href="#letter_M">M</a> | <a class="qindex" href="#letter_N">N</a> | <a class="qindex" href="#letter_O">O</a> | <a class="qindex" href="#letter_P">P</a> | <a class="qindex" href="#letter_R">R</a> | <a class="qindex" href="#letter_S">S</a> | <a class="qindex" href="#letter_T">T</a> | <a class="qindex" href="#letter_U">U</a> | <a class="qindex" href="#letter_W">W</a></div>
|
||||||
|
<div class="classindex">
|
||||||
|
<dl class="classindex even">
|
||||||
|
<dt class="alphachar"><a id="letter_A" name="letter_A">A</a></dt>
|
||||||
|
<dd><a class="el" href="structuvw_1_1addr__info__event.html">addr_info_event</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="structuvw_1_1async__event.html">async_event</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="classuvw_1_1async__handle.html">async_handle</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd></dl>
|
||||||
|
<dl class="classindex odd">
|
||||||
|
<dt class="alphachar"><a id="letter_B" name="letter_B">B</a></dt>
|
||||||
|
<dd><a class="el" href="classuvw_1_1barrier.html">barrier</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd></dl>
|
||||||
|
<dl class="classindex even">
|
||||||
|
<dt class="alphachar"><a id="letter_C" name="letter_C">C</a></dt>
|
||||||
|
<dd><a class="el" href="structuvw_1_1check__event.html">check_event</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="classuvw_1_1check__handle.html">check_handle</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="structuvw_1_1close__event.html">close_event</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="classuvw_1_1condition.html">condition</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="structuvw_1_1connect__event.html">connect_event</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="structuvw_1_1cpu__info.html">cpu_info</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd></dl>
|
||||||
|
<dl class="classindex odd">
|
||||||
|
<dt class="alphachar"><a id="letter_D" name="letter_D">D</a></dt>
|
||||||
|
<dd><a class="el" href="structuvw_1_1data__event.html">data_event</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd></dl>
|
||||||
|
<dl class="classindex even">
|
||||||
|
<dt class="alphachar"><a id="letter_E" name="letter_E">E</a></dt>
|
||||||
|
<dd><a class="el" href="classuvw_1_1emitter.html">emitter</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="structuvw_1_1end__event.html">end_event</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="structuvw_1_1error__event.html">error_event</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="structuvw_1_1exit__event.html">exit_event</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd></dl>
|
||||||
|
<dl class="classindex odd">
|
||||||
|
<dt class="alphachar"><a id="letter_F" name="letter_F">F</a></dt>
|
||||||
|
<dd><a class="el" href="classuvw_1_1file__req.html">file_req</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="structuvw_1_1fs__event.html">fs_event</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="structuvw_1_1fs__event__event.html">fs_event_event</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="classuvw_1_1fs__event__handle.html">fs_event_handle</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="structuvw_1_1fs__helper.html">fs_helper</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="structuvw_1_1fs__poll__event.html">fs_poll_event</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="classuvw_1_1fs__poll__handle.html">fs_poll_handle</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="classuvw_1_1fs__req.html">fs_req</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="classuvw_1_1fs__request.html">fs_request</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd></dl>
|
||||||
|
<dl class="classindex even">
|
||||||
|
<dt class="alphachar"><a id="letter_G" name="letter_G">G</a></dt>
|
||||||
|
<dd><a class="el" href="classuvw_1_1get__addr__info__req.html">get_addr_info_req</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="classuvw_1_1get__name__info__req.html">get_name_info_req</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd></dl>
|
||||||
|
<dl class="classindex odd">
|
||||||
|
<dt class="alphachar"><a id="letter_H" name="letter_H">H</a></dt>
|
||||||
|
<dd><a class="el" href="classuvw_1_1handle.html">handle</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd></dl>
|
||||||
|
<dl class="classindex even">
|
||||||
|
<dt class="alphachar"><a id="letter_I" name="letter_I">I</a></dt>
|
||||||
|
<dd><a class="el" href="structuvw_1_1idle__event.html">idle_event</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="classuvw_1_1idle__handle.html">idle_handle</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="structuvw_1_1interface__address.html">interface_address</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="structuvw_1_1ipv4.html">ipv4</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="structuvw_1_1ipv6.html">ipv6</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd></dl>
|
||||||
|
<dl class="classindex odd">
|
||||||
|
<dt class="alphachar"><a id="letter_L" name="letter_L">L</a></dt>
|
||||||
|
<dd><a class="el" href="structuvw_1_1listen__event.html">listen_event</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="classuvw_1_1loop.html">loop</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd></dl>
|
||||||
|
<dl class="classindex even">
|
||||||
|
<dt class="alphachar"><a id="letter_M" name="letter_M">M</a></dt>
|
||||||
|
<dd><a class="el" href="classuvw_1_1mutex.html">mutex</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd></dl>
|
||||||
|
<dl class="classindex odd">
|
||||||
|
<dt class="alphachar"><a id="letter_N" name="letter_N">N</a></dt>
|
||||||
|
<dd><a class="el" href="structuvw_1_1name__info__event.html">name_info_event</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd></dl>
|
||||||
|
<dl class="classindex even">
|
||||||
|
<dt class="alphachar"><a id="letter_O" name="letter_O">O</a></dt>
|
||||||
|
<dd><a class="el" href="classuvw_1_1once.html">once</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="structuvw_1_1utilities_1_1os.html">utilities::os</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="structuvw_1_1overloaded.html">overloaded</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd></dl>
|
||||||
|
<dl class="classindex odd">
|
||||||
|
<dt class="alphachar"><a id="letter_P" name="letter_P">P</a></dt>
|
||||||
|
<dd><a class="el" href="structuvw_1_1passwd__info.html">passwd_info</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="classuvw_1_1pipe__handle.html">pipe_handle</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="structuvw_1_1poll__event.html">poll_event</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="classuvw_1_1poll__handle.html">poll_handle</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="structuvw_1_1prepare__event.html">prepare_event</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="classuvw_1_1prepare__handle.html">prepare_handle</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="classuvw_1_1process__handle.html">process_handle</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd></dl>
|
||||||
|
<dl class="classindex even">
|
||||||
|
<dt class="alphachar"><a id="letter_R" name="letter_R">R</a></dt>
|
||||||
|
<dd><a class="el" href="classuvw_1_1request.html">request</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="classuvw_1_1resource.html">resource</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="classuvw_1_1rwlock.html">rwlock</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd></dl>
|
||||||
|
<dl class="classindex odd">
|
||||||
|
<dt class="alphachar"><a id="letter_S" name="letter_S">S</a></dt>
|
||||||
|
<dd><a class="el" href="classuvw_1_1semaphore.html">semaphore</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="structuvw_1_1send__event.html">send_event</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="classuvw_1_1shared__lib.html">shared_lib</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="structuvw_1_1shutdown__event.html">shutdown_event</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="structuvw_1_1signal__event.html">signal_event</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="classuvw_1_1signal__handle.html">signal_handle</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="structuvw_1_1socket__address.html">socket_address</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="classuvw_1_1stream__handle.html">stream_handle</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd></dl>
|
||||||
|
<dl class="classindex even">
|
||||||
|
<dt class="alphachar"><a id="letter_T" name="letter_T">T</a></dt>
|
||||||
|
<dd><a class="el" href="classuvw_1_1tcp__handle.html">tcp_handle</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="classuvw_1_1thread.html">thread</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="classuvw_1_1thread__local__storage.html">thread_local_storage</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="structuvw_1_1timer__event.html">timer_event</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="classuvw_1_1timer__handle.html">timer_handle</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="classuvw_1_1tty__handle.html">tty_handle</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd></dl>
|
||||||
|
<dl class="classindex odd">
|
||||||
|
<dt class="alphachar"><a id="letter_U" name="letter_U">U</a></dt>
|
||||||
|
<dd><a class="el" href="structuvw_1_1udp__data__event.html">udp_data_event</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="classuvw_1_1udp__handle.html">udp_handle</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="structuvw_1_1utilities.html">utilities</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="structuvw_1_1uts__name.html">uts_name</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="structuvw_1_1uv__type.html">uv_type</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd></dl>
|
||||||
|
<dl class="classindex even">
|
||||||
|
<dt class="alphachar"><a id="letter_W" name="letter_W">W</a></dt>
|
||||||
|
<dd><a class="el" href="structuvw_1_1win__size.html">win_size</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="structuvw_1_1work__event.html">work_event</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="classuvw_1_1work__req.html">work_req</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd><dd><a class="el" href="structuvw_1_1write__event.html">write_event</a> (<a class="el" href="namespaceuvw.html">uvw</a>)</dd></dl>
|
||||||
|
</div>
|
||||||
|
</div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.6
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
93
classuvw_1_1Barrier-members.html
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.9.6"/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
|
<title>uvw: Member List</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||||
|
<script type="text/javascript" src="search/search.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr id="projectrow">
|
||||||
|
<td id="projectalign">
|
||||||
|
<div id="projectname">uvw<span id="projectnumber"> 3.1.0</span>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.9.6 -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" src="menudata.js"></script>
|
||||||
|
<script type="text/javascript" src="menu.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
$(function() {
|
||||||
|
initMenu('',true,false,'search.php','Search');
|
||||||
|
$(document).ready(function() { init_search(); });
|
||||||
|
});
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<div id="main-nav"></div>
|
||||||
|
<!-- window showing the filter options -->
|
||||||
|
<div id="MSearchSelectWindow"
|
||||||
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||||
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||||
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- iframe showing the search results (closed by default) -->
|
||||||
|
<div id="MSearchResultsWindow">
|
||||||
|
<div id="MSearchResults">
|
||||||
|
<div class="SRPage">
|
||||||
|
<div id="SRIndex">
|
||||||
|
<div id="SRResults"></div>
|
||||||
|
<div class="SRStatus" id="Loading">Loading...</div>
|
||||||
|
<div class="SRStatus" id="Searching">Searching...</div>
|
||||||
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="namespaceuvw.html">uvw</a></li><li class="navelem"><a class="el" href="classuvw_1_1barrier.html">barrier</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle"><div class="title">uvw::barrier Member List</div></div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p>This is the complete list of members for <a class="el" href="classuvw_1_1barrier.html">uvw::barrier</a>, including all inherited members.</p>
|
||||||
|
<table class="directory">
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="structuvw_1_1uv__type.html#ae97ffacc0b381610d8d18a62a957a69c">init</a>()</td><td class="entry"><a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< uv_barrier_t ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="structuvw_1_1uv__type.html#ae03b0ebbae151c6157c5ba6a24a39a7b">parent</a>() const noexcept</td><td class="entry"><a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< uv_barrier_t ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="structuvw_1_1uv__type.html#a06a6cb7ebde27aa348e340b76e49c6ae">raw</a>() const noexcept</td><td class="entry"><a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< uv_barrier_t ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="structuvw_1_1uv__type.html#af4b6f395815f2e99302b5f09be23767c">raw</a>() noexcept</td><td class="entry"><a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< uv_barrier_t ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1barrier.html#a41911992bc4c06a947068a4bd12a0d1b">wait</a>() noexcept</td><td class="entry"><a class="el" href="classuvw_1_1barrier.html">uvw::barrier</a></td><td class="entry"></td></tr>
|
||||||
|
</table></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.6
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
171
classuvw_1_1Barrier.html
Normal file
@ -0,0 +1,171 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.9.6"/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
|
<title>uvw: uvw::barrier Class Reference</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||||
|
<script type="text/javascript" src="search/search.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr id="projectrow">
|
||||||
|
<td id="projectalign">
|
||||||
|
<div id="projectname">uvw<span id="projectnumber"> 3.1.0</span>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.9.6 -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" src="menudata.js"></script>
|
||||||
|
<script type="text/javascript" src="menu.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
$(function() {
|
||||||
|
initMenu('',true,false,'search.php','Search');
|
||||||
|
$(document).ready(function() { init_search(); });
|
||||||
|
});
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<div id="main-nav"></div>
|
||||||
|
<!-- window showing the filter options -->
|
||||||
|
<div id="MSearchSelectWindow"
|
||||||
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||||
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||||
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- iframe showing the search results (closed by default) -->
|
||||||
|
<div id="MSearchResultsWindow">
|
||||||
|
<div id="MSearchResults">
|
||||||
|
<div class="SRPage">
|
||||||
|
<div id="SRIndex">
|
||||||
|
<div id="SRResults"></div>
|
||||||
|
<div class="SRStatus" id="Loading">Loading...</div>
|
||||||
|
<div class="SRStatus" id="Searching">Searching...</div>
|
||||||
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="namespaceuvw.html">uvw</a></li><li class="navelem"><a class="el" href="classuvw_1_1barrier.html">barrier</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="summary">
|
||||||
|
<a href="#pub-methods">Public Member Functions</a> |
|
||||||
|
<a href="classuvw_1_1barrier-members.html">List of all members</a> </div>
|
||||||
|
<div class="headertitle"><div class="title">uvw::barrier Class Reference<span class="mlabels"><span class="mlabel">final</span></span></div></div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p>The barrier wrapper.
|
||||||
|
<a href="classuvw_1_1barrier.html#details">More...</a></p>
|
||||||
|
|
||||||
|
<p><code>#include <<a class="el" href="thread_8h_source.html">thread.h</a>></code></p>
|
||||||
|
<div class="dynheader">
|
||||||
|
Inheritance diagram for uvw::barrier:</div>
|
||||||
|
<div class="dyncontent">
|
||||||
|
<div class="center"><img src="classuvw_1_1barrier__inherit__graph.png" border="0" usemap="#auvw_1_1barrier_inherit__map" alt="Inheritance graph"/></div>
|
||||||
|
<map name="auvw_1_1barrier_inherit__map" id="auvw_1_1barrier_inherit__map">
|
||||||
|
<area shape="rect" title="The barrier wrapper." alt="" coords="55,79,141,104"/>
|
||||||
|
<area shape="rect" href="structuvw_1_1uv__type.html" title=" " alt="" coords="5,5,191,31"/>
|
||||||
|
</map>
|
||||||
|
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
|
||||||
|
<div class="dynheader">
|
||||||
|
Collaboration diagram for uvw::barrier:</div>
|
||||||
|
<div class="dyncontent">
|
||||||
|
<div class="center"><img src="classuvw_1_1barrier__coll__graph.png" border="0" usemap="#auvw_1_1barrier_coll__map" alt="Collaboration graph"/></div>
|
||||||
|
<map name="auvw_1_1barrier_coll__map" id="auvw_1_1barrier_coll__map">
|
||||||
|
<area shape="rect" title="The barrier wrapper." alt="" coords="55,79,141,104"/>
|
||||||
|
<area shape="rect" href="structuvw_1_1uv__type.html" title=" " alt="" coords="5,5,191,31"/>
|
||||||
|
</map>
|
||||||
|
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
|
||||||
|
<table class="memberdecls">
|
||||||
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
|
||||||
|
Public Member Functions</h2></td></tr>
|
||||||
|
<tr class="memitem:a41911992bc4c06a947068a4bd12a0d1b"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1barrier.html#a41911992bc4c06a947068a4bd12a0d1b">wait</a> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a41911992bc4c06a947068a4bd12a0d1b"><td class="mdescLeft"> </td><td class="mdescRight">Synchronizes at a barrier. <br /></td></tr>
|
||||||
|
<tr class="separator:a41911992bc4c06a947068a4bd12a0d1b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="inherit_header pub_methods_structuvw_1_1uv__type"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_structuvw_1_1uv__type')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< uv_barrier_t ></a></td></tr>
|
||||||
|
<tr class="memitem:ae97ffacc0b381610d8d18a62a957a69c inherit pub_methods_structuvw_1_1uv__type"><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="structuvw_1_1uv__type.html#ae97ffacc0b381610d8d18a62a957a69c">init</a> ()</td></tr>
|
||||||
|
<tr class="memdesc:ae97ffacc0b381610d8d18a62a957a69c inherit pub_methods_structuvw_1_1uv__type"><td class="mdescLeft"> </td><td class="mdescRight">Initializes the handle. <br /></td></tr>
|
||||||
|
<tr class="separator:ae97ffacc0b381610d8d18a62a957a69c inherit pub_methods_structuvw_1_1uv__type"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ae03b0ebbae151c6157c5ba6a24a39a7b inherit pub_methods_structuvw_1_1uv__type"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classuvw_1_1loop.html">loop</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="structuvw_1_1uv__type.html#ae03b0ebbae151c6157c5ba6a24a39a7b">parent</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:ae03b0ebbae151c6157c5ba6a24a39a7b inherit pub_methods_structuvw_1_1uv__type"><td class="mdescLeft"> </td><td class="mdescRight">Gets the loop from which the resource was originated. <br /></td></tr>
|
||||||
|
<tr class="separator:ae03b0ebbae151c6157c5ba6a24a39a7b inherit pub_methods_structuvw_1_1uv__type"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a06a6cb7ebde27aa348e340b76e49c6ae inherit pub_methods_structuvw_1_1uv__type"><td class="memItemLeft" align="right" valign="top">const uv_barrier_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="structuvw_1_1uv__type.html#a06a6cb7ebde27aa348e340b76e49c6ae">raw</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a06a6cb7ebde27aa348e340b76e49c6ae inherit pub_methods_structuvw_1_1uv__type"><td class="mdescLeft"> </td><td class="mdescRight">Gets the underlying raw data structure. <br /></td></tr>
|
||||||
|
<tr class="separator:a06a6cb7ebde27aa348e340b76e49c6ae inherit pub_methods_structuvw_1_1uv__type"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:af4b6f395815f2e99302b5f09be23767c inherit pub_methods_structuvw_1_1uv__type"><td class="memItemLeft" align="right" valign="top">uv_barrier_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="structuvw_1_1uv__type.html#af4b6f395815f2e99302b5f09be23767c">raw</a> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:af4b6f395815f2e99302b5f09be23767c inherit pub_methods_structuvw_1_1uv__type"><td class="mdescLeft"> </td><td class="mdescRight">Gets the underlying raw data structure. <br /></td></tr>
|
||||||
|
<tr class="separator:af4b6f395815f2e99302b5f09be23767c inherit pub_methods_structuvw_1_1uv__type"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
</table>
|
||||||
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||||
|
<div class="textblock"><p>The barrier wrapper. </p>
|
||||||
|
<p>To create a <code>barrier</code> through a <code>loop</code>, arguments follow:</p>
|
||||||
|
<ul>
|
||||||
|
<li>An unsigned integer that specifies the number of threads that must call <code>wait</code> before any of them successfully return from the call. The value specified must be greater than zero. </li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="thread_8h_source.html#l00342">342</a> of file <a class="el" href="thread_8h_source.html">thread.h</a>.</p>
|
||||||
|
</div><h2 class="groupheader">Member Function Documentation</h2>
|
||||||
|
<a id="a41911992bc4c06a947068a4bd12a0d1b" name="a41911992bc4c06a947068a4bd12a0d1b"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#a41911992bc4c06a947068a4bd12a0d1b">◆ </a></span>wait()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">bool uvw::barrier::wait </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Synchronizes at a barrier. </p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>True in case of success, false otherwise. </dd></dl>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr/>The documentation for this class was generated from the following file:<ul>
|
||||||
|
<li>src/uvw/<a class="el" href="thread_8h_source.html">thread.h</a></li>
|
||||||
|
</ul>
|
||||||
|
</div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.6
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
4
classuvw_1_1Barrier__coll__graph.map
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<map id="uvw::barrier" name="uvw::barrier">
|
||||||
|
<area shape="rect" id="node1" title="The barrier wrapper." alt="" coords="55,79,141,104"/>
|
||||||
|
<area shape="rect" id="node2" href="$structuvw_1_1uv__type.html" title=" " alt="" coords="5,5,191,31"/>
|
||||||
|
</map>
|
||||||
1
classuvw_1_1Barrier__coll__graph.md5
Normal file
@ -0,0 +1 @@
|
|||||||
|
269a3ca68273b6d281d6ad35c4ef837e
|
||||||
BIN
classuvw_1_1Barrier__coll__graph.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
4
classuvw_1_1Barrier__inherit__graph.map
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<map id="uvw::barrier" name="uvw::barrier">
|
||||||
|
<area shape="rect" id="node1" title="The barrier wrapper." alt="" coords="55,79,141,104"/>
|
||||||
|
<area shape="rect" id="node2" href="$structuvw_1_1uv__type.html" title=" " alt="" coords="5,5,191,31"/>
|
||||||
|
</map>
|
||||||
1
classuvw_1_1Barrier__inherit__graph.md5
Normal file
@ -0,0 +1 @@
|
|||||||
|
269a3ca68273b6d281d6ad35c4ef837e
|
||||||
BIN
classuvw_1_1Barrier__inherit__graph.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
96
classuvw_1_1Condition-members.html
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.9.6"/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
|
<title>uvw: Member List</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||||
|
<script type="text/javascript" src="search/search.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr id="projectrow">
|
||||||
|
<td id="projectalign">
|
||||||
|
<div id="projectname">uvw<span id="projectnumber"> 3.1.0</span>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.9.6 -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" src="menudata.js"></script>
|
||||||
|
<script type="text/javascript" src="menu.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
$(function() {
|
||||||
|
initMenu('',true,false,'search.php','Search');
|
||||||
|
$(document).ready(function() { init_search(); });
|
||||||
|
});
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<div id="main-nav"></div>
|
||||||
|
<!-- window showing the filter options -->
|
||||||
|
<div id="MSearchSelectWindow"
|
||||||
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||||
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||||
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- iframe showing the search results (closed by default) -->
|
||||||
|
<div id="MSearchResultsWindow">
|
||||||
|
<div id="MSearchResults">
|
||||||
|
<div class="SRPage">
|
||||||
|
<div id="SRIndex">
|
||||||
|
<div id="SRResults"></div>
|
||||||
|
<div class="SRStatus" id="Loading">Loading...</div>
|
||||||
|
<div class="SRStatus" id="Searching">Searching...</div>
|
||||||
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="namespaceuvw.html">uvw</a></li><li class="navelem"><a class="el" href="classuvw_1_1condition.html">condition</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle"><div class="title">uvw::condition Member List</div></div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p>This is the complete list of members for <a class="el" href="classuvw_1_1condition.html">uvw::condition</a>, including all inherited members.</p>
|
||||||
|
<table class="directory">
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1condition.html#aba9e52349e417204c43b2383008ead7a">broadcast</a>() noexcept</td><td class="entry"><a class="el" href="classuvw_1_1condition.html">uvw::condition</a></td><td class="entry"></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="structuvw_1_1uv__type.html#ae97ffacc0b381610d8d18a62a957a69c">init</a>()</td><td class="entry"><a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< uv_cond_t ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="structuvw_1_1uv__type.html#ae03b0ebbae151c6157c5ba6a24a39a7b">parent</a>() const noexcept</td><td class="entry"><a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< uv_cond_t ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="structuvw_1_1uv__type.html#a06a6cb7ebde27aa348e340b76e49c6ae">raw</a>() const noexcept</td><td class="entry"><a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< uv_cond_t ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="structuvw_1_1uv__type.html#af4b6f395815f2e99302b5f09be23767c">raw</a>() noexcept</td><td class="entry"><a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< uv_cond_t ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1condition.html#a02dfe50d273ed1263c839edb504213a0">signal</a>() noexcept</td><td class="entry"><a class="el" href="classuvw_1_1condition.html">uvw::condition</a></td><td class="entry"></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1condition.html#af1ca0e3ae4854fc8e16068922db667a4">timed_wait</a>(mutex &mtx, uint64_t timeout) noexcept</td><td class="entry"><a class="el" href="classuvw_1_1condition.html">uvw::condition</a></td><td class="entry"></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1condition.html#a49753b61acdfbf76ba87b70d6f441289">wait</a>(mutex &mtx) noexcept</td><td class="entry"><a class="el" href="classuvw_1_1condition.html">uvw::condition</a></td><td class="entry"></td></tr>
|
||||||
|
</table></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.6
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
287
classuvw_1_1Condition.html
Normal file
@ -0,0 +1,287 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.9.6"/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
|
<title>uvw: uvw::condition Class Reference</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||||
|
<script type="text/javascript" src="search/search.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr id="projectrow">
|
||||||
|
<td id="projectalign">
|
||||||
|
<div id="projectname">uvw<span id="projectnumber"> 3.1.0</span>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.9.6 -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" src="menudata.js"></script>
|
||||||
|
<script type="text/javascript" src="menu.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
$(function() {
|
||||||
|
initMenu('',true,false,'search.php','Search');
|
||||||
|
$(document).ready(function() { init_search(); });
|
||||||
|
});
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<div id="main-nav"></div>
|
||||||
|
<!-- window showing the filter options -->
|
||||||
|
<div id="MSearchSelectWindow"
|
||||||
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||||
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||||
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- iframe showing the search results (closed by default) -->
|
||||||
|
<div id="MSearchResultsWindow">
|
||||||
|
<div id="MSearchResults">
|
||||||
|
<div class="SRPage">
|
||||||
|
<div id="SRIndex">
|
||||||
|
<div id="SRResults"></div>
|
||||||
|
<div class="SRStatus" id="Loading">Loading...</div>
|
||||||
|
<div class="SRStatus" id="Searching">Searching...</div>
|
||||||
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="namespaceuvw.html">uvw</a></li><li class="navelem"><a class="el" href="classuvw_1_1condition.html">condition</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="summary">
|
||||||
|
<a href="#pub-methods">Public Member Functions</a> |
|
||||||
|
<a href="classuvw_1_1condition-members.html">List of all members</a> </div>
|
||||||
|
<div class="headertitle"><div class="title">uvw::condition Class Reference<span class="mlabels"><span class="mlabel">final</span></span></div></div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p>The condition wrapper.
|
||||||
|
<a href="classuvw_1_1condition.html#details">More...</a></p>
|
||||||
|
|
||||||
|
<p><code>#include <<a class="el" href="thread_8h_source.html">thread.h</a>></code></p>
|
||||||
|
<div class="dynheader">
|
||||||
|
Inheritance diagram for uvw::condition:</div>
|
||||||
|
<div class="dyncontent">
|
||||||
|
<div class="center"><img src="classuvw_1_1condition__inherit__graph.png" border="0" usemap="#auvw_1_1condition_inherit__map" alt="Inheritance graph"/></div>
|
||||||
|
<map name="auvw_1_1condition_inherit__map" id="auvw_1_1condition_inherit__map">
|
||||||
|
<area shape="rect" title="The condition wrapper." alt="" coords="43,79,145,104"/>
|
||||||
|
<area shape="rect" href="structuvw_1_1uv__type.html" title=" " alt="" coords="5,5,183,31"/>
|
||||||
|
</map>
|
||||||
|
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
|
||||||
|
<div class="dynheader">
|
||||||
|
Collaboration diagram for uvw::condition:</div>
|
||||||
|
<div class="dyncontent">
|
||||||
|
<div class="center"><img src="classuvw_1_1condition__coll__graph.png" border="0" usemap="#auvw_1_1condition_coll__map" alt="Collaboration graph"/></div>
|
||||||
|
<map name="auvw_1_1condition_coll__map" id="auvw_1_1condition_coll__map">
|
||||||
|
<area shape="rect" title="The condition wrapper." alt="" coords="43,79,145,104"/>
|
||||||
|
<area shape="rect" href="structuvw_1_1uv__type.html" title=" " alt="" coords="5,5,183,31"/>
|
||||||
|
</map>
|
||||||
|
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
|
||||||
|
<table class="memberdecls">
|
||||||
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
|
||||||
|
Public Member Functions</h2></td></tr>
|
||||||
|
<tr class="memitem:a02dfe50d273ed1263c839edb504213a0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1condition.html#a02dfe50d273ed1263c839edb504213a0">signal</a> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a02dfe50d273ed1263c839edb504213a0"><td class="mdescLeft"> </td><td class="mdescRight">Signals a condition. <br /></td></tr>
|
||||||
|
<tr class="separator:a02dfe50d273ed1263c839edb504213a0"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:aba9e52349e417204c43b2383008ead7a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1condition.html#aba9e52349e417204c43b2383008ead7a">broadcast</a> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:aba9e52349e417204c43b2383008ead7a"><td class="mdescLeft"> </td><td class="mdescRight">Broadcasts a condition. <br /></td></tr>
|
||||||
|
<tr class="separator:aba9e52349e417204c43b2383008ead7a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a49753b61acdfbf76ba87b70d6f441289"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1condition.html#a49753b61acdfbf76ba87b70d6f441289">wait</a> (<a class="el" href="classuvw_1_1mutex.html">mutex</a> &mtx) noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a49753b61acdfbf76ba87b70d6f441289"><td class="mdescLeft"> </td><td class="mdescRight">Waits on a condition. <br /></td></tr>
|
||||||
|
<tr class="separator:a49753b61acdfbf76ba87b70d6f441289"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:af1ca0e3ae4854fc8e16068922db667a4"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1condition.html#af1ca0e3ae4854fc8e16068922db667a4">timed_wait</a> (<a class="el" href="classuvw_1_1mutex.html">mutex</a> &mtx, uint64_t timeout) noexcept</td></tr>
|
||||||
|
<tr class="memdesc:af1ca0e3ae4854fc8e16068922db667a4"><td class="mdescLeft"> </td><td class="mdescRight">Waits on a condition. <br /></td></tr>
|
||||||
|
<tr class="separator:af1ca0e3ae4854fc8e16068922db667a4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="inherit_header pub_methods_structuvw_1_1uv__type"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_structuvw_1_1uv__type')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< uv_cond_t ></a></td></tr>
|
||||||
|
<tr class="memitem:ae97ffacc0b381610d8d18a62a957a69c inherit pub_methods_structuvw_1_1uv__type"><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="structuvw_1_1uv__type.html#ae97ffacc0b381610d8d18a62a957a69c">init</a> ()</td></tr>
|
||||||
|
<tr class="memdesc:ae97ffacc0b381610d8d18a62a957a69c inherit pub_methods_structuvw_1_1uv__type"><td class="mdescLeft"> </td><td class="mdescRight">Initializes the handle. <br /></td></tr>
|
||||||
|
<tr class="separator:ae97ffacc0b381610d8d18a62a957a69c inherit pub_methods_structuvw_1_1uv__type"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ae03b0ebbae151c6157c5ba6a24a39a7b inherit pub_methods_structuvw_1_1uv__type"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classuvw_1_1loop.html">loop</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="structuvw_1_1uv__type.html#ae03b0ebbae151c6157c5ba6a24a39a7b">parent</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:ae03b0ebbae151c6157c5ba6a24a39a7b inherit pub_methods_structuvw_1_1uv__type"><td class="mdescLeft"> </td><td class="mdescRight">Gets the loop from which the resource was originated. <br /></td></tr>
|
||||||
|
<tr class="separator:ae03b0ebbae151c6157c5ba6a24a39a7b inherit pub_methods_structuvw_1_1uv__type"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a06a6cb7ebde27aa348e340b76e49c6ae inherit pub_methods_structuvw_1_1uv__type"><td class="memItemLeft" align="right" valign="top">const uv_cond_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="structuvw_1_1uv__type.html#a06a6cb7ebde27aa348e340b76e49c6ae">raw</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a06a6cb7ebde27aa348e340b76e49c6ae inherit pub_methods_structuvw_1_1uv__type"><td class="mdescLeft"> </td><td class="mdescRight">Gets the underlying raw data structure. <br /></td></tr>
|
||||||
|
<tr class="separator:a06a6cb7ebde27aa348e340b76e49c6ae inherit pub_methods_structuvw_1_1uv__type"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:af4b6f395815f2e99302b5f09be23767c inherit pub_methods_structuvw_1_1uv__type"><td class="memItemLeft" align="right" valign="top">uv_cond_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="structuvw_1_1uv__type.html#af4b6f395815f2e99302b5f09be23767c">raw</a> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:af4b6f395815f2e99302b5f09be23767c inherit pub_methods_structuvw_1_1uv__type"><td class="mdescLeft"> </td><td class="mdescRight">Gets the underlying raw data structure. <br /></td></tr>
|
||||||
|
<tr class="separator:af4b6f395815f2e99302b5f09be23767c inherit pub_methods_structuvw_1_1uv__type"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
</table>
|
||||||
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||||
|
<div class="textblock"><p>The condition wrapper. </p>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="thread_8h_source.html#l00283">283</a> of file <a class="el" href="thread_8h_source.html">thread.h</a>.</p>
|
||||||
|
</div><h2 class="groupheader">Member Function Documentation</h2>
|
||||||
|
<a id="aba9e52349e417204c43b2383008ead7a" name="aba9e52349e417204c43b2383008ead7a"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#aba9e52349e417204c43b2383008ead7a">◆ </a></span>broadcast()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">void uvw::condition::broadcast </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Broadcasts a condition. </p>
|
||||||
|
<p>This function shall unblock threads blocked on a condition variable. </p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="a02dfe50d273ed1263c839edb504213a0" name="a02dfe50d273ed1263c839edb504213a0"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#a02dfe50d273ed1263c839edb504213a0">◆ </a></span>signal()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">void uvw::condition::signal </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Signals a condition. </p>
|
||||||
|
<p>This function shall unblock at least one of the threads that are blocked on the specified condition variable (if any threads are blocked on it). </p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="af1ca0e3ae4854fc8e16068922db667a4" name="af1ca0e3ae4854fc8e16068922db667a4"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#af1ca0e3ae4854fc8e16068922db667a4">◆ </a></span>timed_wait()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">bool uvw::condition::timed_wait </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramtype"><a class="el" href="classuvw_1_1mutex.html">mutex</a> & </td>
|
||||||
|
<td class="paramname"><em>mtx</em>, </td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="paramkey"></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="paramtype">uint64_t </td>
|
||||||
|
<td class="paramname"><em>timeout</em> </td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td>)</td>
|
||||||
|
<td></td><td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Waits on a condition. </p>
|
||||||
|
<p>These function atomically releases the mutex and causes the calling thread to block on the condition variable.<br />
|
||||||
|
The functions returns with an error if the absolute time specified passes (that is, system time equals or exceeds it) before the condition is signaled or broadcasted, or if the absolute time specified has already been passed at the time of the call.</p>
|
||||||
|
<dl class="params"><dt>Parameters</dt><dd>
|
||||||
|
<table class="params">
|
||||||
|
<tr><td class="paramname">mtx</td><td>A mutex locked by the calling thread, otherwise expect undefined behavior. </td></tr>
|
||||||
|
<tr><td class="paramname">timeout</td><td>The maximum time to wait before to return. </td></tr>
|
||||||
|
</table>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>True in case of success, false otherwise. </dd></dl>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="a49753b61acdfbf76ba87b70d6f441289" name="a49753b61acdfbf76ba87b70d6f441289"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#a49753b61acdfbf76ba87b70d6f441289">◆ </a></span>wait()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">void uvw::condition::wait </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramtype"><a class="el" href="classuvw_1_1mutex.html">mutex</a> & </td>
|
||||||
|
<td class="paramname"><em>mtx</em></td><td>)</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Waits on a condition. </p>
|
||||||
|
<p>These function atomically releases the mutex and causes the calling thread to block on the condition variable.</p>
|
||||||
|
<dl class="params"><dt>Parameters</dt><dd>
|
||||||
|
<table class="params">
|
||||||
|
<tr><td class="paramname">mtx</td><td>A mutex locked by the calling thread, otherwise expect undefined behavior. </td></tr>
|
||||||
|
</table>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr/>The documentation for this class was generated from the following file:<ul>
|
||||||
|
<li>src/uvw/<a class="el" href="thread_8h_source.html">thread.h</a></li>
|
||||||
|
</ul>
|
||||||
|
</div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.6
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
4
classuvw_1_1Condition__coll__graph.map
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<map id="uvw::condition" name="uvw::condition">
|
||||||
|
<area shape="rect" id="node1" title="The condition wrapper." alt="" coords="43,79,145,104"/>
|
||||||
|
<area shape="rect" id="node2" href="$structuvw_1_1uv__type.html" title=" " alt="" coords="5,5,183,31"/>
|
||||||
|
</map>
|
||||||
1
classuvw_1_1Condition__coll__graph.md5
Normal file
@ -0,0 +1 @@
|
|||||||
|
abb142ff54470204e0cb56e1563fa887
|
||||||
BIN
classuvw_1_1Condition__coll__graph.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
4
classuvw_1_1Condition__inherit__graph.map
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<map id="uvw::condition" name="uvw::condition">
|
||||||
|
<area shape="rect" id="node1" title="The condition wrapper." alt="" coords="43,79,145,104"/>
|
||||||
|
<area shape="rect" id="node2" href="$structuvw_1_1uv__type.html" title=" " alt="" coords="5,5,183,31"/>
|
||||||
|
</map>
|
||||||
1
classuvw_1_1Condition__inherit__graph.md5
Normal file
@ -0,0 +1 @@
|
|||||||
|
abb142ff54470204e0cb56e1563fa887
|
||||||
BIN
classuvw_1_1Condition__inherit__graph.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
92
classuvw_1_1Emitter-members.html
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.9.6"/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
|
<title>uvw: Member List</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||||
|
<script type="text/javascript" src="search/search.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr id="projectrow">
|
||||||
|
<td id="projectalign">
|
||||||
|
<div id="projectname">uvw<span id="projectnumber"> 3.1.0</span>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.9.6 -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" src="menudata.js"></script>
|
||||||
|
<script type="text/javascript" src="menu.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
$(function() {
|
||||||
|
initMenu('',true,false,'search.php','Search');
|
||||||
|
$(document).ready(function() { init_search(); });
|
||||||
|
});
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<div id="main-nav"></div>
|
||||||
|
<!-- window showing the filter options -->
|
||||||
|
<div id="MSearchSelectWindow"
|
||||||
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||||
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||||
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- iframe showing the search results (closed by default) -->
|
||||||
|
<div id="MSearchResultsWindow">
|
||||||
|
<div id="MSearchResults">
|
||||||
|
<div class="SRPage">
|
||||||
|
<div id="SRIndex">
|
||||||
|
<div id="SRResults"></div>
|
||||||
|
<div class="SRStatus" id="Loading">Loading...</div>
|
||||||
|
<div class="SRStatus" id="Searching">Searching...</div>
|
||||||
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="namespaceuvw.html">uvw</a></li><li class="navelem"><a class="el" href="classuvw_1_1emitter.html">emitter</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle"><div class="title">uvw::emitter< T, E > Member List</div></div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p>This is the complete list of members for <a class="el" href="classuvw_1_1emitter.html">uvw::emitter< T, E ></a>, including all inherited members.</p>
|
||||||
|
<table class="directory">
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1emitter.html#ac02a29fe156faba7571b50450fc4f780">has</a>() const noexcept</td><td class="entry"><a class="el" href="classuvw_1_1emitter.html">uvw::emitter< T, E ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1emitter.html#ab913fa1c005a33c73b2eb2b0d1051b1f">on</a>(listener_t< U > f)</td><td class="entry"><a class="el" href="classuvw_1_1emitter.html">uvw::emitter< T, E ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1emitter.html#accff5c096692f5eebbe941189644e69d">reset</a>() noexcept</td><td class="entry"><a class="el" href="classuvw_1_1emitter.html">uvw::emitter< T, E ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1emitter.html#aa71435e74e775cfa7012fe2e52ca5193">reset</a>() noexcept</td><td class="entry"><a class="el" href="classuvw_1_1emitter.html">uvw::emitter< T, E ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
</table></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.6
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
232
classuvw_1_1Emitter.html
Normal file
@ -0,0 +1,232 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.9.6"/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
|
<title>uvw: uvw::emitter< T, E > Class Template Reference</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||||
|
<script type="text/javascript" src="search/search.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr id="projectrow">
|
||||||
|
<td id="projectalign">
|
||||||
|
<div id="projectname">uvw<span id="projectnumber"> 3.1.0</span>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.9.6 -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" src="menudata.js"></script>
|
||||||
|
<script type="text/javascript" src="menu.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
$(function() {
|
||||||
|
initMenu('',true,false,'search.php','Search');
|
||||||
|
$(document).ready(function() { init_search(); });
|
||||||
|
});
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<div id="main-nav"></div>
|
||||||
|
<!-- window showing the filter options -->
|
||||||
|
<div id="MSearchSelectWindow"
|
||||||
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||||
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||||
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- iframe showing the search results (closed by default) -->
|
||||||
|
<div id="MSearchResultsWindow">
|
||||||
|
<div id="MSearchResults">
|
||||||
|
<div class="SRPage">
|
||||||
|
<div id="SRIndex">
|
||||||
|
<div id="SRResults"></div>
|
||||||
|
<div class="SRStatus" id="Loading">Loading...</div>
|
||||||
|
<div class="SRStatus" id="Searching">Searching...</div>
|
||||||
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="namespaceuvw.html">uvw</a></li><li class="navelem"><a class="el" href="classuvw_1_1emitter.html">emitter</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="summary">
|
||||||
|
<a href="#pub-methods">Public Member Functions</a> |
|
||||||
|
<a href="classuvw_1_1emitter-members.html">List of all members</a> </div>
|
||||||
|
<div class="headertitle"><div class="title">uvw::emitter< T, E > Class Template Reference</div></div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p>Event emitter base class.
|
||||||
|
<a href="classuvw_1_1emitter.html#details">More...</a></p>
|
||||||
|
|
||||||
|
<p><code>#include <<a class="el" href="emitter_8h_source.html">emitter.h</a>></code></p>
|
||||||
|
<div class="dynheader">
|
||||||
|
Inheritance diagram for uvw::emitter< T, E >:</div>
|
||||||
|
<div class="dyncontent">
|
||||||
|
<div class="center"><img src="classuvw_1_1emitter__inherit__graph.png" border="0" usemap="#auvw_1_1emitter_3_01T_00_01E_01_4_inherit__map" alt="Inheritance graph"/></div>
|
||||||
|
<map name="auvw_1_1emitter_3_01T_00_01E_01_4_inherit__map" id="auvw_1_1emitter_3_01T_00_01E_01_4_inherit__map">
|
||||||
|
<area shape="rect" title="Event emitter base class." alt="" coords="5,832,144,857"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1resource.html" title=" " alt="" coords="223,5,371,60"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1resource.html" title=" " alt="" coords="223,84,371,139"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1resource.html" title=" " alt="" coords="211,163,383,203"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1resource.html" title=" " alt="" coords="225,228,370,283"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1resource.html" title=" " alt="" coords="207,307,388,347"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1resource.html" title=" " alt="" coords="214,372,381,427"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1resource.html" title=" " alt="" coords="229,451,365,491"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1resource.html" title=" " alt="" coords="217,516,377,571"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1resource.html" title=" " alt="" coords="222,595,373,649"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1resource.html" title=" " alt="" coords="221,674,373,714"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1resource.html" title=" " alt="" coords="199,739,395,793"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1resource.html" title=" " alt="" coords="192,817,403,872"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1resource.html" title=" " alt="" coords="230,896,365,951"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1resource.html" title=" " alt="" coords="229,975,366,1029"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1resource.html" title=" " alt="" coords="230,1053,365,1108"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1resource.html" title=" " alt="" coords="219,1132,375,1187"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1resource.html" title=" " alt="" coords="218,1211,377,1265"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1resource.html" title=" " alt="" coords="224,1289,371,1344"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1resource.html" title=" " alt="" coords="216,1368,379,1423"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1resource.html" title=" " alt="" coords="226,1447,369,1501"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1resource.html" title=" " alt="" coords="218,1525,377,1580"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1resource.html" title=" " alt="" coords="215,1604,380,1659"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1resource.html" title=" " alt="" coords="221,1683,374,1723"/>
|
||||||
|
</map>
|
||||||
|
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
|
||||||
|
<table class="memberdecls">
|
||||||
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
|
||||||
|
Public Member Functions</h2></td></tr>
|
||||||
|
<tr class="memitem:ab913fa1c005a33c73b2eb2b0d1051b1f"><td class="memTemplParams" colspan="2">template<typename U > </td></tr>
|
||||||
|
<tr class="memitem:ab913fa1c005a33c73b2eb2b0d1051b1f"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classuvw_1_1emitter.html#ab913fa1c005a33c73b2eb2b0d1051b1f">on</a> (listener_t< U > f)</td></tr>
|
||||||
|
<tr class="memdesc:ab913fa1c005a33c73b2eb2b0d1051b1f"><td class="mdescLeft"> </td><td class="mdescRight">Registers a long-lived listener with the event emitter. <br /></td></tr>
|
||||||
|
<tr class="separator:ab913fa1c005a33c73b2eb2b0d1051b1f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:accff5c096692f5eebbe941189644e69d"><td class="memTemplParams" colspan="2"><a id="accff5c096692f5eebbe941189644e69d" name="accff5c096692f5eebbe941189644e69d"></a>
|
||||||
|
template<typename U > </td></tr>
|
||||||
|
<tr class="memitem:accff5c096692f5eebbe941189644e69d"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>reset</b> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:accff5c096692f5eebbe941189644e69d"><td class="mdescLeft"> </td><td class="mdescRight">Disconnects the listener for the given event type. <br /></td></tr>
|
||||||
|
<tr class="separator:accff5c096692f5eebbe941189644e69d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:aa71435e74e775cfa7012fe2e52ca5193"><td class="memItemLeft" align="right" valign="top"><a id="aa71435e74e775cfa7012fe2e52ca5193" name="aa71435e74e775cfa7012fe2e52ca5193"></a>
|
||||||
|
void </td><td class="memItemRight" valign="bottom"><b>reset</b> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:aa71435e74e775cfa7012fe2e52ca5193"><td class="mdescLeft"> </td><td class="mdescRight">Disconnects all listeners. <br /></td></tr>
|
||||||
|
<tr class="separator:aa71435e74e775cfa7012fe2e52ca5193"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ac02a29fe156faba7571b50450fc4f780"><td class="memTemplParams" colspan="2">template<typename U > </td></tr>
|
||||||
|
<tr class="memitem:ac02a29fe156faba7571b50450fc4f780"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classuvw_1_1emitter.html#ac02a29fe156faba7571b50450fc4f780">has</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:ac02a29fe156faba7571b50450fc4f780"><td class="mdescLeft"> </td><td class="mdescRight">Checks if there is a listener registered for the specific event. <br /></td></tr>
|
||||||
|
<tr class="separator:ac02a29fe156faba7571b50450fc4f780"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
</table>
|
||||||
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||||
|
<div class="textblock"><div class="compoundTemplParams">template<typename T, typename... E><br />
|
||||||
|
class uvw::emitter< T, E ></div><p>Event emitter base class. </p>
|
||||||
|
<p>Almost everything in <code>uvw</code> is an event emitter.<br />
|
||||||
|
This is the base class from which resources and loops inherit. </p>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="emitter_8h_source.html#l00083">83</a> of file <a class="el" href="emitter_8h_source.html">emitter.h</a>.</p>
|
||||||
|
</div><h2 class="groupheader">Member Function Documentation</h2>
|
||||||
|
<a id="ac02a29fe156faba7571b50450fc4f780" name="ac02a29fe156faba7571b50450fc4f780"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#ac02a29fe156faba7571b50450fc4f780">◆ </a></span>has()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<div class="memtemplate">
|
||||||
|
template<typename T , typename... E> </div>
|
||||||
|
<div class="memtemplate">
|
||||||
|
template<typename U > </div>
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">bool <a class="el" href="classuvw_1_1emitter.html">uvw::emitter</a>< T, E >::has </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td> const</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Checks if there is a listener registered for the specific event. </p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>True if there is a listener registered for the specific event, false otherwise. </dd></dl>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="emitter_8h_source.html#l00145">145</a> of file <a class="el" href="emitter_8h_source.html">emitter.h</a>.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="ab913fa1c005a33c73b2eb2b0d1051b1f" name="ab913fa1c005a33c73b2eb2b0d1051b1f"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#ab913fa1c005a33c73b2eb2b0d1051b1f">◆ </a></span>on()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<div class="memtemplate">
|
||||||
|
template<typename T , typename... E> </div>
|
||||||
|
<div class="memtemplate">
|
||||||
|
template<typename U > </div>
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">void <a class="el" href="classuvw_1_1emitter.html">uvw::emitter</a>< T, E >::on </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramtype">listener_t< U > </td>
|
||||||
|
<td class="paramname"><em>f</em></td><td>)</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Registers a long-lived listener with the event emitter. </p>
|
||||||
|
<p>This method is used to register a listener with the emitter.<br />
|
||||||
|
A listener is usually defined as a callable object assignable to a <code>std::function<void(const E &, T &)</code>, where <code>E</code> is the type of the event and <code>T</code> is the type of the resource.</p>
|
||||||
|
<dl class="params"><dt>Parameters</dt><dd>
|
||||||
|
<table class="params">
|
||||||
|
<tr><td class="paramname">f</td><td>A valid listener to be registered. </td></tr>
|
||||||
|
</table>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="emitter_8h_source.html#l00123">123</a> of file <a class="el" href="emitter_8h_source.html">emitter.h</a>.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr/>The documentation for this class was generated from the following file:<ul>
|
||||||
|
<li>src/uvw/<a class="el" href="emitter_8h_source.html">emitter.h</a></li>
|
||||||
|
</ul>
|
||||||
|
</div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.6
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
26
classuvw_1_1Emitter__inherit__graph.map
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
<map id="uvw::emitter< T, E >" name="uvw::emitter< T, E >">
|
||||||
|
<area shape="rect" id="node1" title="Event emitter base class." alt="" coords="5,832,144,857"/>
|
||||||
|
<area shape="rect" id="node2" href="$classuvw_1_1resource.html" title=" " alt="" coords="223,5,371,60"/>
|
||||||
|
<area shape="rect" id="node3" href="$classuvw_1_1resource.html" title=" " alt="" coords="223,84,371,139"/>
|
||||||
|
<area shape="rect" id="node4" href="$classuvw_1_1resource.html" title=" " alt="" coords="211,163,383,203"/>
|
||||||
|
<area shape="rect" id="node5" href="$classuvw_1_1resource.html" title=" " alt="" coords="225,228,370,283"/>
|
||||||
|
<area shape="rect" id="node6" href="$classuvw_1_1resource.html" title=" " alt="" coords="207,307,388,347"/>
|
||||||
|
<area shape="rect" id="node7" href="$classuvw_1_1resource.html" title=" " alt="" coords="214,372,381,427"/>
|
||||||
|
<area shape="rect" id="node8" href="$classuvw_1_1resource.html" title=" " alt="" coords="229,451,365,491"/>
|
||||||
|
<area shape="rect" id="node9" href="$classuvw_1_1resource.html" title=" " alt="" coords="217,516,377,571"/>
|
||||||
|
<area shape="rect" id="node10" href="$classuvw_1_1resource.html" title=" " alt="" coords="222,595,373,649"/>
|
||||||
|
<area shape="rect" id="node11" href="$classuvw_1_1resource.html" title=" " alt="" coords="221,674,373,714"/>
|
||||||
|
<area shape="rect" id="node12" href="$classuvw_1_1resource.html" title=" " alt="" coords="199,739,395,793"/>
|
||||||
|
<area shape="rect" id="node13" href="$classuvw_1_1resource.html" title=" " alt="" coords="192,817,403,872"/>
|
||||||
|
<area shape="rect" id="node14" href="$classuvw_1_1resource.html" title=" " alt="" coords="230,896,365,951"/>
|
||||||
|
<area shape="rect" id="node15" href="$classuvw_1_1resource.html" title=" " alt="" coords="229,975,366,1029"/>
|
||||||
|
<area shape="rect" id="node16" href="$classuvw_1_1resource.html" title=" " alt="" coords="230,1053,365,1108"/>
|
||||||
|
<area shape="rect" id="node17" href="$classuvw_1_1resource.html" title=" " alt="" coords="219,1132,375,1187"/>
|
||||||
|
<area shape="rect" id="node18" href="$classuvw_1_1resource.html" title=" " alt="" coords="218,1211,377,1265"/>
|
||||||
|
<area shape="rect" id="node19" href="$classuvw_1_1resource.html" title=" " alt="" coords="224,1289,371,1344"/>
|
||||||
|
<area shape="rect" id="node20" href="$classuvw_1_1resource.html" title=" " alt="" coords="216,1368,379,1423"/>
|
||||||
|
<area shape="rect" id="node21" href="$classuvw_1_1resource.html" title=" " alt="" coords="226,1447,369,1501"/>
|
||||||
|
<area shape="rect" id="node22" href="$classuvw_1_1resource.html" title=" " alt="" coords="218,1525,377,1580"/>
|
||||||
|
<area shape="rect" id="node23" href="$classuvw_1_1resource.html" title=" " alt="" coords="215,1604,380,1659"/>
|
||||||
|
<area shape="rect" id="node24" href="$classuvw_1_1resource.html" title=" " alt="" coords="221,1683,374,1723"/>
|
||||||
|
</map>
|
||||||
1
classuvw_1_1Emitter__inherit__graph.md5
Normal file
@ -0,0 +1 @@
|
|||||||
|
ec86312c5e2b6686ba053e715b1757fa
|
||||||
BIN
classuvw_1_1Emitter__inherit__graph.png
Normal file
|
After Width: | Height: | Size: 110 KiB |
112
classuvw_1_1Handle-members.html
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.9.6"/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
|
<title>uvw: Member List</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||||
|
<script type="text/javascript" src="search/search.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr id="projectrow">
|
||||||
|
<td id="projectalign">
|
||||||
|
<div id="projectname">uvw<span id="projectnumber"> 3.1.0</span>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.9.6 -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" src="menudata.js"></script>
|
||||||
|
<script type="text/javascript" src="menu.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
$(function() {
|
||||||
|
initMenu('',true,false,'search.php','Search');
|
||||||
|
$(document).ready(function() { init_search(); });
|
||||||
|
});
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<div id="main-nav"></div>
|
||||||
|
<!-- window showing the filter options -->
|
||||||
|
<div id="MSearchSelectWindow"
|
||||||
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||||
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||||
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- iframe showing the search results (closed by default) -->
|
||||||
|
<div id="MSearchResultsWindow">
|
||||||
|
<div id="MSearchResults">
|
||||||
|
<div class="SRPage">
|
||||||
|
<div id="SRIndex">
|
||||||
|
<div id="SRResults"></div>
|
||||||
|
<div class="SRStatus" id="Loading">Loading...</div>
|
||||||
|
<div class="SRStatus" id="Searching">Searching...</div>
|
||||||
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="namespaceuvw.html">uvw</a></li><li class="navelem"><a class="el" href="classuvw_1_1handle.html">handle</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle"><div class="title">uvw::handle< T, U, E > Member List</div></div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p>This is the complete list of members for <a class="el" href="classuvw_1_1handle.html">uvw::handle< T, U, E ></a>, including all inherited members.</p>
|
||||||
|
<table class="directory">
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1handle.html#a938d3ac6e5cc78f9442f9bb851170643">active</a>() const noexcept</td><td class="entry"><a class="el" href="classuvw_1_1handle.html">uvw::handle< T, U, E ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1handle.html#a80c5ba8c4db128cc525406e998549b96">category</a>() const noexcept</td><td class="entry"><a class="el" href="classuvw_1_1handle.html">uvw::handle< T, U, E ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1handle.html#a3648ed9805e8d0e8963f137f8584e483">close</a>() noexcept</td><td class="entry"><a class="el" href="classuvw_1_1handle.html">uvw::handle< T, U, E ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1handle.html#ae93cbf2156f0d673093e48832104a3cc">closing</a>() const noexcept</td><td class="entry"><a class="el" href="classuvw_1_1handle.html">uvw::handle< T, U, E ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1resource.html#a7c05e988ebaa14d1dbbc781951dc3a88">data</a>() const</td><td class="entry"><a class="el" href="classuvw_1_1resource.html">uvw::resource< T, U, close_event, E... ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1resource.html#a759079eb405e5d2fda795d199d8efa80">data</a>(std::shared_ptr< void > udata)</td><td class="entry"><a class="el" href="classuvw_1_1resource.html">uvw::resource< T, U, close_event, E... ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1handle.html#a0ce9568c94aa0122ff4cee6a57b4fae5">fd</a>() const</td><td class="entry"><a class="el" href="classuvw_1_1handle.html">uvw::handle< T, U, E ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1emitter.html#ac02a29fe156faba7571b50450fc4f780">has</a>() const noexcept</td><td class="entry"><a class="el" href="classuvw_1_1emitter.html">uvw::emitter< T, E... ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="structuvw_1_1uv__type.html#ae97ffacc0b381610d8d18a62a957a69c">init</a>()</td><td class="entry"><a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< U ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1emitter.html#ab913fa1c005a33c73b2eb2b0d1051b1f">on</a>(listener_t< U > f)</td><td class="entry"><a class="el" href="classuvw_1_1emitter.html">uvw::emitter< T, E... ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="structuvw_1_1uv__type.html#ae03b0ebbae151c6157c5ba6a24a39a7b">parent</a>() const noexcept</td><td class="entry"><a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< U ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="structuvw_1_1uv__type.html#a06a6cb7ebde27aa348e340b76e49c6ae">raw</a>() const noexcept</td><td class="entry"><a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< U ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="structuvw_1_1uv__type.html#af4b6f395815f2e99302b5f09be23767c">raw</a>() noexcept</td><td class="entry"><a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< U ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1handle.html#a7a3337ef0c68ed5ba0e9bea0e2e90539">recv_buffer_size</a>()</td><td class="entry"><a class="el" href="classuvw_1_1handle.html">uvw::handle< T, U, E ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1handle.html#ace23bb725f6f80ae7a611f5228ad9f8d">recv_buffer_size</a>(int value)</td><td class="entry"><a class="el" href="classuvw_1_1handle.html">uvw::handle< T, U, E ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1handle.html#a2f0d788997368ab1af2dc475126a46d2">reference</a>() noexcept</td><td class="entry"><a class="el" href="classuvw_1_1handle.html">uvw::handle< T, U, E ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1handle.html#a1403f961ab40063f79c4a293c78ed63c">referenced</a>() const noexcept</td><td class="entry"><a class="el" href="classuvw_1_1handle.html">uvw::handle< T, U, E ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1emitter.html#accff5c096692f5eebbe941189644e69d">reset</a>() noexcept</td><td class="entry"><a class="el" href="classuvw_1_1emitter.html">uvw::emitter< T, E... ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1emitter.html#aa71435e74e775cfa7012fe2e52ca5193">reset</a>() noexcept</td><td class="entry"><a class="el" href="classuvw_1_1emitter.html">uvw::emitter< T, E... ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1handle.html#aa99406ca909aeaac17522959db8c71a4">send_buffer_size</a>()</td><td class="entry"><a class="el" href="classuvw_1_1handle.html">uvw::handle< T, U, E ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1handle.html#a917ab9c1f011232b50f9980f29167ee2">send_buffer_size</a>(int value)</td><td class="entry"><a class="el" href="classuvw_1_1handle.html">uvw::handle< T, U, E ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1handle.html#a5852080ba1fd71a302c2424cf2df9a27">size</a>() const noexcept</td><td class="entry"><a class="el" href="classuvw_1_1handle.html">uvw::handle< T, U, E ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1handle.html#a88018be1fa3105e958c50a9f1881baa9">type</a>() const noexcept</td><td class="entry"><a class="el" href="classuvw_1_1handle.html">uvw::handle< T, U, E ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1handle.html#a83a91d1353c19f1a05aace78dc2cc453">unreference</a>() noexcept</td><td class="entry"><a class="el" href="classuvw_1_1handle.html">uvw::handle< T, U, E ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
</table></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.6
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
696
classuvw_1_1Handle.html
Normal file
@ -0,0 +1,696 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.9.6"/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
|
<title>uvw: uvw::handle< T, U, E > Class Template Reference</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||||
|
<script type="text/javascript" src="search/search.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr id="projectrow">
|
||||||
|
<td id="projectalign">
|
||||||
|
<div id="projectname">uvw<span id="projectnumber"> 3.1.0</span>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.9.6 -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" src="menudata.js"></script>
|
||||||
|
<script type="text/javascript" src="menu.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
$(function() {
|
||||||
|
initMenu('',true,false,'search.php','Search');
|
||||||
|
$(document).ready(function() { init_search(); });
|
||||||
|
});
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<div id="main-nav"></div>
|
||||||
|
<!-- window showing the filter options -->
|
||||||
|
<div id="MSearchSelectWindow"
|
||||||
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||||
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||||
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- iframe showing the search results (closed by default) -->
|
||||||
|
<div id="MSearchResultsWindow">
|
||||||
|
<div id="MSearchResults">
|
||||||
|
<div class="SRPage">
|
||||||
|
<div id="SRIndex">
|
||||||
|
<div id="SRResults"></div>
|
||||||
|
<div class="SRStatus" id="Loading">Loading...</div>
|
||||||
|
<div class="SRStatus" id="Searching">Searching...</div>
|
||||||
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="namespaceuvw.html">uvw</a></li><li class="navelem"><a class="el" href="classuvw_1_1handle.html">handle</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="summary">
|
||||||
|
<a href="#pub-methods">Public Member Functions</a> |
|
||||||
|
<a href="classuvw_1_1handle-members.html">List of all members</a> </div>
|
||||||
|
<div class="headertitle"><div class="title">uvw::handle< T, U, E > Class Template Reference</div></div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p>Handle base class.
|
||||||
|
<a href="classuvw_1_1handle.html#details">More...</a></p>
|
||||||
|
|
||||||
|
<p><code>#include <<a class="el" href="handle_8hpp_source.html">handle.hpp</a>></code></p>
|
||||||
|
<div class="dynheader">
|
||||||
|
Inheritance diagram for uvw::handle< T, U, E >:</div>
|
||||||
|
<div class="dyncontent">
|
||||||
|
<div class="center"><img src="classuvw_1_1handle__inherit__graph.png" border="0" usemap="#auvw_1_1handle_3_01T_00_01U_00_01E_01_4_inherit__map" alt="Inheritance graph"/></div>
|
||||||
|
<map name="auvw_1_1handle_3_01T_00_01U_00_01E_01_4_inherit__map" id="auvw_1_1handle_3_01T_00_01U_00_01E_01_4_inherit__map">
|
||||||
|
<area shape="rect" title="Handle base class." alt="" coords="393,77,548,102"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1stream__handle.html" title=" " alt="" coords="596,5,773,45"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1stream__handle.html" title=" " alt="" coords="602,69,767,109"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1stream__handle.html" title=" " alt="" coords="605,133,764,173"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1resource.html" title=" " alt="" coords="204,69,345,109"/>
|
||||||
|
<area shape="rect" href="structuvw_1_1uv__type.html" title="Wrapper class for underlying types." alt="" coords="17,51,145,77"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1emitter.html" title=" " alt="" coords="5,101,156,126"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1pipe__handle.html" title="The pipe handle." alt="" coords="821,13,941,38"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1tcp__handle.html" title="The TCP handle." alt="" coords="824,77,939,102"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1tty__handle.html" title="The tty handle." alt="" coords="826,141,937,166"/>
|
||||||
|
</map>
|
||||||
|
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
|
||||||
|
<div class="dynheader">
|
||||||
|
Collaboration diagram for uvw::handle< T, U, E >:</div>
|
||||||
|
<div class="dyncontent">
|
||||||
|
<div class="center"><img src="classuvw_1_1handle__coll__graph.png" border="0" usemap="#auvw_1_1handle_3_01T_00_01U_00_01E_01_4_coll__map" alt="Collaboration graph"/></div>
|
||||||
|
<map name="auvw_1_1handle_3_01T_00_01U_00_01E_01_4_coll__map" id="auvw_1_1handle_3_01T_00_01U_00_01E_01_4_coll__map">
|
||||||
|
<area shape="rect" title="Handle base class." alt="" coords="73,167,228,192"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1resource.html" title=" " alt="" coords="80,79,221,119"/>
|
||||||
|
<area shape="rect" href="structuvw_1_1uv__type.html" title="Wrapper class for underlying types." alt="" coords="5,5,133,31"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1emitter.html" title=" " alt="" coords="158,5,309,31"/>
|
||||||
|
</map>
|
||||||
|
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
|
||||||
|
<table class="memberdecls">
|
||||||
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
|
||||||
|
Public Member Functions</h2></td></tr>
|
||||||
|
<tr class="memitem:a80c5ba8c4db128cc525406e998549b96"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceuvw.html#a9e28e1855691dd1af105626ed11f3ac4">handle_category</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1handle.html#a80c5ba8c4db128cc525406e998549b96">category</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a80c5ba8c4db128cc525406e998549b96"><td class="mdescLeft"> </td><td class="mdescRight">Gets the category of the handle. <br /></td></tr>
|
||||||
|
<tr class="separator:a80c5ba8c4db128cc525406e998549b96"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a88018be1fa3105e958c50a9f1881baa9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceuvw.html#a3954d5751b5b6ebb0c90c195e9b94edd">handle_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1handle.html#a88018be1fa3105e958c50a9f1881baa9">type</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a88018be1fa3105e958c50a9f1881baa9"><td class="mdescLeft"> </td><td class="mdescRight">Gets the type of the handle. <br /></td></tr>
|
||||||
|
<tr class="separator:a88018be1fa3105e958c50a9f1881baa9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a938d3ac6e5cc78f9442f9bb851170643"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1handle.html#a938d3ac6e5cc78f9442f9bb851170643">active</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a938d3ac6e5cc78f9442f9bb851170643"><td class="mdescLeft"> </td><td class="mdescRight">Checks if the handle is active. <br /></td></tr>
|
||||||
|
<tr class="separator:a938d3ac6e5cc78f9442f9bb851170643"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ae93cbf2156f0d673093e48832104a3cc"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1handle.html#ae93cbf2156f0d673093e48832104a3cc">closing</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:ae93cbf2156f0d673093e48832104a3cc"><td class="mdescLeft"> </td><td class="mdescRight">Checks if a handle is closing or closed. <br /></td></tr>
|
||||||
|
<tr class="separator:ae93cbf2156f0d673093e48832104a3cc"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a3648ed9805e8d0e8963f137f8584e483"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1handle.html#a3648ed9805e8d0e8963f137f8584e483">close</a> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a3648ed9805e8d0e8963f137f8584e483"><td class="mdescLeft"> </td><td class="mdescRight">Request handle to be closed. <br /></td></tr>
|
||||||
|
<tr class="separator:a3648ed9805e8d0e8963f137f8584e483"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a2f0d788997368ab1af2dc475126a46d2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1handle.html#a2f0d788997368ab1af2dc475126a46d2">reference</a> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a2f0d788997368ab1af2dc475126a46d2"><td class="mdescLeft"> </td><td class="mdescRight">Reference the given handle. <br /></td></tr>
|
||||||
|
<tr class="separator:a2f0d788997368ab1af2dc475126a46d2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a83a91d1353c19f1a05aace78dc2cc453"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1handle.html#a83a91d1353c19f1a05aace78dc2cc453">unreference</a> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a83a91d1353c19f1a05aace78dc2cc453"><td class="mdescLeft"> </td><td class="mdescRight">Unreference the given handle. <br /></td></tr>
|
||||||
|
<tr class="separator:a83a91d1353c19f1a05aace78dc2cc453"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a1403f961ab40063f79c4a293c78ed63c"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1handle.html#a1403f961ab40063f79c4a293c78ed63c">referenced</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a1403f961ab40063f79c4a293c78ed63c"><td class="mdescLeft"> </td><td class="mdescRight">Checks if the given handle referenced. <br /></td></tr>
|
||||||
|
<tr class="separator:a1403f961ab40063f79c4a293c78ed63c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a5852080ba1fd71a302c2424cf2df9a27"><td class="memItemLeft" align="right" valign="top">std::size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1handle.html#a5852080ba1fd71a302c2424cf2df9a27">size</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a5852080ba1fd71a302c2424cf2df9a27"><td class="mdescLeft"> </td><td class="mdescRight">Returns the size of the underlying handle type. <br /></td></tr>
|
||||||
|
<tr class="separator:a5852080ba1fd71a302c2424cf2df9a27"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:aa99406ca909aeaac17522959db8c71a4"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1handle.html#aa99406ca909aeaac17522959db8c71a4">send_buffer_size</a> ()</td></tr>
|
||||||
|
<tr class="memdesc:aa99406ca909aeaac17522959db8c71a4"><td class="mdescLeft"> </td><td class="mdescRight">Gets the size of the send buffer used for the socket. <br /></td></tr>
|
||||||
|
<tr class="separator:aa99406ca909aeaac17522959db8c71a4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a917ab9c1f011232b50f9980f29167ee2"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1handle.html#a917ab9c1f011232b50f9980f29167ee2">send_buffer_size</a> (int value)</td></tr>
|
||||||
|
<tr class="memdesc:a917ab9c1f011232b50f9980f29167ee2"><td class="mdescLeft"> </td><td class="mdescRight">Sets the size of the send buffer used for the socket. <br /></td></tr>
|
||||||
|
<tr class="separator:a917ab9c1f011232b50f9980f29167ee2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a7a3337ef0c68ed5ba0e9bea0e2e90539"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1handle.html#a7a3337ef0c68ed5ba0e9bea0e2e90539">recv_buffer_size</a> ()</td></tr>
|
||||||
|
<tr class="memdesc:a7a3337ef0c68ed5ba0e9bea0e2e90539"><td class="mdescLeft"> </td><td class="mdescRight">Gets the size of the receive buffer used for the socket. <br /></td></tr>
|
||||||
|
<tr class="separator:a7a3337ef0c68ed5ba0e9bea0e2e90539"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ace23bb725f6f80ae7a611f5228ad9f8d"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1handle.html#ace23bb725f6f80ae7a611f5228ad9f8d">recv_buffer_size</a> (int value)</td></tr>
|
||||||
|
<tr class="memdesc:ace23bb725f6f80ae7a611f5228ad9f8d"><td class="mdescLeft"> </td><td class="mdescRight">Sets the size of the receive buffer used for the socket. <br /></td></tr>
|
||||||
|
<tr class="separator:ace23bb725f6f80ae7a611f5228ad9f8d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a0ce9568c94aa0122ff4cee6a57b4fae5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceuvw.html#a1a4f79e341b89257a11403ee0739f2b4">os_file_descriptor</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1handle.html#a0ce9568c94aa0122ff4cee6a57b4fae5">fd</a> () const</td></tr>
|
||||||
|
<tr class="memdesc:a0ce9568c94aa0122ff4cee6a57b4fae5"><td class="mdescLeft"> </td><td class="mdescRight">Gets the platform dependent file descriptor equivalent. <br /></td></tr>
|
||||||
|
<tr class="separator:a0ce9568c94aa0122ff4cee6a57b4fae5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="inherit_header pub_methods_classuvw_1_1resource"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classuvw_1_1resource')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classuvw_1_1resource.html">uvw::resource< T, U, close_event, E... ></a></td></tr>
|
||||||
|
<tr class="memitem:a7c05e988ebaa14d1dbbc781951dc3a88 inherit pub_methods_classuvw_1_1resource"><td class="memItemLeft" align="right" valign="top">std::shared_ptr< R > </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1resource.html#a7c05e988ebaa14d1dbbc781951dc3a88">data</a> () const</td></tr>
|
||||||
|
<tr class="memdesc:a7c05e988ebaa14d1dbbc781951dc3a88 inherit pub_methods_classuvw_1_1resource"><td class="mdescLeft"> </td><td class="mdescRight">Gets user-defined data. <code>uvw</code> won't use this field in any case. <br /></td></tr>
|
||||||
|
<tr class="separator:a7c05e988ebaa14d1dbbc781951dc3a88 inherit pub_methods_classuvw_1_1resource"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a759079eb405e5d2fda795d199d8efa80 inherit pub_methods_classuvw_1_1resource"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1resource.html#a759079eb405e5d2fda795d199d8efa80">data</a> (std::shared_ptr< void > udata)</td></tr>
|
||||||
|
<tr class="memdesc:a759079eb405e5d2fda795d199d8efa80 inherit pub_methods_classuvw_1_1resource"><td class="mdescLeft"> </td><td class="mdescRight">Sets arbitrary data. <code>uvw</code> won't use this field in any case. <br /></td></tr>
|
||||||
|
<tr class="separator:a759079eb405e5d2fda795d199d8efa80 inherit pub_methods_classuvw_1_1resource"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="inherit_header pub_methods_structuvw_1_1uv__type"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_structuvw_1_1uv__type')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< U ></a></td></tr>
|
||||||
|
<tr class="memitem:ae97ffacc0b381610d8d18a62a957a69c inherit pub_methods_structuvw_1_1uv__type"><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="structuvw_1_1uv__type.html#ae97ffacc0b381610d8d18a62a957a69c">init</a> ()</td></tr>
|
||||||
|
<tr class="memdesc:ae97ffacc0b381610d8d18a62a957a69c inherit pub_methods_structuvw_1_1uv__type"><td class="mdescLeft"> </td><td class="mdescRight">Initializes the handle. <br /></td></tr>
|
||||||
|
<tr class="separator:ae97ffacc0b381610d8d18a62a957a69c inherit pub_methods_structuvw_1_1uv__type"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ae03b0ebbae151c6157c5ba6a24a39a7b inherit pub_methods_structuvw_1_1uv__type"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classuvw_1_1loop.html">loop</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="structuvw_1_1uv__type.html#ae03b0ebbae151c6157c5ba6a24a39a7b">parent</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:ae03b0ebbae151c6157c5ba6a24a39a7b inherit pub_methods_structuvw_1_1uv__type"><td class="mdescLeft"> </td><td class="mdescRight">Gets the loop from which the resource was originated. <br /></td></tr>
|
||||||
|
<tr class="separator:ae03b0ebbae151c6157c5ba6a24a39a7b inherit pub_methods_structuvw_1_1uv__type"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a06a6cb7ebde27aa348e340b76e49c6ae inherit pub_methods_structuvw_1_1uv__type"><td class="memItemLeft" align="right" valign="top">const U * </td><td class="memItemRight" valign="bottom"><a class="el" href="structuvw_1_1uv__type.html#a06a6cb7ebde27aa348e340b76e49c6ae">raw</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a06a6cb7ebde27aa348e340b76e49c6ae inherit pub_methods_structuvw_1_1uv__type"><td class="mdescLeft"> </td><td class="mdescRight">Gets the underlying raw data structure. <br /></td></tr>
|
||||||
|
<tr class="separator:a06a6cb7ebde27aa348e340b76e49c6ae inherit pub_methods_structuvw_1_1uv__type"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:af4b6f395815f2e99302b5f09be23767c inherit pub_methods_structuvw_1_1uv__type"><td class="memItemLeft" align="right" valign="top">U * </td><td class="memItemRight" valign="bottom"><a class="el" href="structuvw_1_1uv__type.html#af4b6f395815f2e99302b5f09be23767c">raw</a> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:af4b6f395815f2e99302b5f09be23767c inherit pub_methods_structuvw_1_1uv__type"><td class="mdescLeft"> </td><td class="mdescRight">Gets the underlying raw data structure. <br /></td></tr>
|
||||||
|
<tr class="separator:af4b6f395815f2e99302b5f09be23767c inherit pub_methods_structuvw_1_1uv__type"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="inherit_header pub_methods_classuvw_1_1emitter"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classuvw_1_1emitter')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classuvw_1_1emitter.html">uvw::emitter< T, E... ></a></td></tr>
|
||||||
|
<tr class="memitem:ab913fa1c005a33c73b2eb2b0d1051b1f inherit pub_methods_classuvw_1_1emitter"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1emitter.html#ab913fa1c005a33c73b2eb2b0d1051b1f">on</a> (listener_t< U > f)</td></tr>
|
||||||
|
<tr class="memdesc:ab913fa1c005a33c73b2eb2b0d1051b1f inherit pub_methods_classuvw_1_1emitter"><td class="mdescLeft"> </td><td class="mdescRight">Registers a long-lived listener with the event emitter. <br /></td></tr>
|
||||||
|
<tr class="separator:ab913fa1c005a33c73b2eb2b0d1051b1f inherit pub_methods_classuvw_1_1emitter"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:accff5c096692f5eebbe941189644e69d inherit pub_methods_classuvw_1_1emitter"><td class="memItemLeft" align="right" valign="top"><a id="accff5c096692f5eebbe941189644e69d" name="accff5c096692f5eebbe941189644e69d"></a>
|
||||||
|
void </td><td class="memItemRight" valign="bottom"><b>reset</b> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:accff5c096692f5eebbe941189644e69d inherit pub_methods_classuvw_1_1emitter"><td class="mdescLeft"> </td><td class="mdescRight">Disconnects the listener for the given event type. <br /></td></tr>
|
||||||
|
<tr class="separator:accff5c096692f5eebbe941189644e69d inherit pub_methods_classuvw_1_1emitter"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:aa71435e74e775cfa7012fe2e52ca5193 inherit pub_methods_classuvw_1_1emitter"><td class="memItemLeft" align="right" valign="top"><a id="aa71435e74e775cfa7012fe2e52ca5193" name="aa71435e74e775cfa7012fe2e52ca5193"></a>
|
||||||
|
void </td><td class="memItemRight" valign="bottom"><b>reset</b> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:aa71435e74e775cfa7012fe2e52ca5193 inherit pub_methods_classuvw_1_1emitter"><td class="mdescLeft"> </td><td class="mdescRight">Disconnects all listeners. <br /></td></tr>
|
||||||
|
<tr class="separator:aa71435e74e775cfa7012fe2e52ca5193 inherit pub_methods_classuvw_1_1emitter"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ac02a29fe156faba7571b50450fc4f780 inherit pub_methods_classuvw_1_1emitter"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1emitter.html#ac02a29fe156faba7571b50450fc4f780">has</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:ac02a29fe156faba7571b50450fc4f780 inherit pub_methods_classuvw_1_1emitter"><td class="mdescLeft"> </td><td class="mdescRight">Checks if there is a listener registered for the specific event. <br /></td></tr>
|
||||||
|
<tr class="separator:ac02a29fe156faba7571b50450fc4f780 inherit pub_methods_classuvw_1_1emitter"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
</table>
|
||||||
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||||
|
<div class="textblock"><div class="compoundTemplParams">template<typename T, typename U, typename... E><br />
|
||||||
|
class uvw::handle< T, U, E ></div><p>Handle base class. </p>
|
||||||
|
<p>Base type for all <code>uvw</code> handle types. </p>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="handle_8hpp_source.html#l00023">23</a> of file <a class="el" href="handle_8hpp_source.html">handle.hpp</a>.</p>
|
||||||
|
</div><h2 class="groupheader">Member Function Documentation</h2>
|
||||||
|
<a id="a938d3ac6e5cc78f9442f9bb851170643" name="a938d3ac6e5cc78f9442f9bb851170643"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#a938d3ac6e5cc78f9442f9bb851170643">◆ </a></span>active()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<div class="memtemplate">
|
||||||
|
template<typename T , typename U , typename... E> </div>
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">bool <a class="el" href="classuvw_1_1handle.html">uvw::handle</a>< T, U, E >::active </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td> const</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Checks if the handle is active. </p>
|
||||||
|
<p>What <em>active</em> means depends on the type of handle:</p>
|
||||||
|
<ul>
|
||||||
|
<li>An <a class="el" href="classuvw_1_1async__handle.html" title="The async handle.">async_handle</a> handle is always active and cannot be deactivated, except by closing it with uv_close().</li>
|
||||||
|
<li>A pipe, tcp, udp, etc. handle - basically any handle that deals with I/O - is active when it is doing something that involves I/O, like reading, writing, connecting, accepting new connections, etc.</li>
|
||||||
|
<li>A check, idle, timer, etc. handle is active when it has been started with a call to <code>start()</code>.</li>
|
||||||
|
</ul>
|
||||||
|
<p>Rule of thumb: if a handle of type <code>foo_handle</code> has a <code>start()</code> member method, then it’s active from the moment that method is called. Likewise, <code>stop()</code> deactivates the handle again.</p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>True if the handle is active, false otherwise. </dd></dl>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="handle_8hpp_source.html#l00088">88</a> of file <a class="el" href="handle_8hpp_source.html">handle.hpp</a>.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="a80c5ba8c4db128cc525406e998549b96" name="a80c5ba8c4db128cc525406e998549b96"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#a80c5ba8c4db128cc525406e998549b96">◆ </a></span>category()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<div class="memtemplate">
|
||||||
|
template<typename T , typename U , typename... E> </div>
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname"><a class="el" href="namespaceuvw.html#a9e28e1855691dd1af105626ed11f3ac4">handle_category</a> <a class="el" href="classuvw_1_1handle.html">uvw::handle</a>< T, U, E >::category </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td> const</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Gets the category of the handle. </p>
|
||||||
|
<p>A base handle offers no functionality to promote it to the actual handle type. By means of this function, an opaque value that identifies the category of the handle is made available to the users.</p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>The actual category of the handle. </dd></dl>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="handle_8hpp_source.html#l00052">52</a> of file <a class="el" href="handle_8hpp_source.html">handle.hpp</a>.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="a3648ed9805e8d0e8963f137f8584e483" name="a3648ed9805e8d0e8963f137f8584e483"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#a3648ed9805e8d0e8963f137f8584e483">◆ </a></span>close()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<div class="memtemplate">
|
||||||
|
template<typename T , typename U , typename... E> </div>
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">void <a class="el" href="classuvw_1_1handle.html">uvw::handle</a>< T, U, E >::close </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Request handle to be closed. </p>
|
||||||
|
<p>This <b>must</b> be called on each handle before memory is released.<br />
|
||||||
|
In-progress requests are cancelled and this can result in errors.</p>
|
||||||
|
<p>The handle will emit a close event when finished. </p>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="handle_8hpp_source.html#l00112">112</a> of file <a class="el" href="handle_8hpp_source.html">handle.hpp</a>.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="ae93cbf2156f0d673093e48832104a3cc" name="ae93cbf2156f0d673093e48832104a3cc"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#ae93cbf2156f0d673093e48832104a3cc">◆ </a></span>closing()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<div class="memtemplate">
|
||||||
|
template<typename T , typename U , typename... E> </div>
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">bool <a class="el" href="classuvw_1_1handle.html">uvw::handle</a>< T, U, E >::closing </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td> const</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Checks if a handle is closing or closed. </p>
|
||||||
|
<p>This function should only be used between the initialization of the handle and the arrival of the close callback.</p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>True if the handle is closing or closed, false otherwise. </dd></dl>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="handle_8hpp_source.html#l00100">100</a> of file <a class="el" href="handle_8hpp_source.html">handle.hpp</a>.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="a0ce9568c94aa0122ff4cee6a57b4fae5" name="a0ce9568c94aa0122ff4cee6a57b4fae5"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#a0ce9568c94aa0122ff4cee6a57b4fae5">◆ </a></span>fd()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<div class="memtemplate">
|
||||||
|
template<typename T , typename U , typename... E> </div>
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname"><a class="el" href="namespaceuvw.html#a1a4f79e341b89257a11403ee0739f2b4">os_file_descriptor</a> <a class="el" href="classuvw_1_1handle.html">uvw::handle</a>< T, U, E >::fd </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td> const</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Gets the platform dependent file descriptor equivalent. </p>
|
||||||
|
<p>Supported handles:</p>
|
||||||
|
<ul>
|
||||||
|
<li><a class="el" href="classuvw_1_1tcp__handle.html" title="The TCP handle.">tcp_handle</a></li>
|
||||||
|
<li><a class="el" href="classuvw_1_1pipe__handle.html" title="The pipe handle.">pipe_handle</a></li>
|
||||||
|
<li><a class="el" href="classuvw_1_1tty__handle.html" title="The tty handle.">tty_handle</a></li>
|
||||||
|
<li><a class="el" href="classuvw_1_1udp__handle.html" title="The UDP handle.">udp_handle</a></li>
|
||||||
|
<li><a class="el" href="classuvw_1_1poll__handle.html" title="The poll handle.">poll_handle</a></li>
|
||||||
|
</ul>
|
||||||
|
<p>If invoked on a different handle, one that doesn’t have an attached file descriptor yet or one which was closed, an invalid value is returned.</p>
|
||||||
|
<p>See the official <a href="http://docs.libuv.org/en/v1.x/handle.html#c.uv_fileno">documentation</a> for further details.</p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>The file descriptor attached to the hande or a negative value in case of errors. </dd></dl>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="handle_8hpp_source.html#l00241">241</a> of file <a class="el" href="handle_8hpp_source.html">handle.hpp</a>.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="a7a3337ef0c68ed5ba0e9bea0e2e90539" name="a7a3337ef0c68ed5ba0e9bea0e2e90539"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#a7a3337ef0c68ed5ba0e9bea0e2e90539">◆ </a></span>recv_buffer_size() <span class="overload">[1/2]</span></h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<div class="memtemplate">
|
||||||
|
template<typename T , typename U , typename... E> </div>
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">int <a class="el" href="classuvw_1_1handle.html">uvw::handle</a>< T, U, E >::recv_buffer_size </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Gets the size of the receive buffer used for the socket. </p>
|
||||||
|
<p>Gets the size of the receive buffer that the operating system uses for the socket.<br />
|
||||||
|
This function works for tcp, pipe and udp handles on Unix and for tcp and udp handles on Windows.<br />
|
||||||
|
Note that Linux will return double the size of the original set value.</p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>The size of the receive buffer, the underlying return value in case of errors. </dd></dl>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="handle_8hpp_source.html#l00199">199</a> of file <a class="el" href="handle_8hpp_source.html">handle.hpp</a>.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="ace23bb725f6f80ae7a611f5228ad9f8d" name="ace23bb725f6f80ae7a611f5228ad9f8d"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#ace23bb725f6f80ae7a611f5228ad9f8d">◆ </a></span>recv_buffer_size() <span class="overload">[2/2]</span></h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<div class="memtemplate">
|
||||||
|
template<typename T , typename U , typename... E> </div>
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">int <a class="el" href="classuvw_1_1handle.html">uvw::handle</a>< T, U, E >::recv_buffer_size </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramtype">int </td>
|
||||||
|
<td class="paramname"><em>value</em></td><td>)</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Sets the size of the receive buffer used for the socket. </p>
|
||||||
|
<p>Sets the size of the receive buffer that the operating system uses for the socket.<br />
|
||||||
|
This function works for tcp, pipe and udp handles on Unix and for tcp and udp handles on Windows.<br />
|
||||||
|
Note that Linux will set double the size.</p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>Underlying return value. </dd></dl>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="handle_8hpp_source.html#l00216">216</a> of file <a class="el" href="handle_8hpp_source.html">handle.hpp</a>.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="a2f0d788997368ab1af2dc475126a46d2" name="a2f0d788997368ab1af2dc475126a46d2"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#a2f0d788997368ab1af2dc475126a46d2">◆ </a></span>reference()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<div class="memtemplate">
|
||||||
|
template<typename T , typename U , typename... E> </div>
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">void <a class="el" href="classuvw_1_1handle.html">uvw::handle</a>< T, U, E >::reference </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Reference the given handle. </p>
|
||||||
|
<p>References are idempotent, that is, if a handle is already referenced calling this function again will have no effect. </p>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="handle_8hpp_source.html#l00124">124</a> of file <a class="el" href="handle_8hpp_source.html">handle.hpp</a>.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="a1403f961ab40063f79c4a293c78ed63c" name="a1403f961ab40063f79c4a293c78ed63c"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#a1403f961ab40063f79c4a293c78ed63c">◆ </a></span>referenced()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<div class="memtemplate">
|
||||||
|
template<typename T , typename U , typename... E> </div>
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">bool <a class="el" href="classuvw_1_1handle.html">uvw::handle</a>< T, U, E >::referenced </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td> const</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Checks if the given handle referenced. </p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>True if the handle referenced, false otherwise. </dd></dl>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="handle_8hpp_source.html#l00142">142</a> of file <a class="el" href="handle_8hpp_source.html">handle.hpp</a>.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="aa99406ca909aeaac17522959db8c71a4" name="aa99406ca909aeaac17522959db8c71a4"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#aa99406ca909aeaac17522959db8c71a4">◆ </a></span>send_buffer_size() <span class="overload">[1/2]</span></h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<div class="memtemplate">
|
||||||
|
template<typename T , typename U , typename... E> </div>
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">int <a class="el" href="classuvw_1_1handle.html">uvw::handle</a>< T, U, E >::send_buffer_size </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Gets the size of the send buffer used for the socket. </p>
|
||||||
|
<p>Gets the size of the send buffer that the operating system uses for the socket.<br />
|
||||||
|
This function works for tcp, pipeand udp handles on Unix and for tcp and udp handles on Windows.<br />
|
||||||
|
Note that Linux will return double the size of the original set value.</p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>The size of the send buffer, the underlying return value in case of errors. </dd></dl>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="handle_8hpp_source.html#l00166">166</a> of file <a class="el" href="handle_8hpp_source.html">handle.hpp</a>.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="a917ab9c1f011232b50f9980f29167ee2" name="a917ab9c1f011232b50f9980f29167ee2"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#a917ab9c1f011232b50f9980f29167ee2">◆ </a></span>send_buffer_size() <span class="overload">[2/2]</span></h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<div class="memtemplate">
|
||||||
|
template<typename T , typename U , typename... E> </div>
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">int <a class="el" href="classuvw_1_1handle.html">uvw::handle</a>< T, U, E >::send_buffer_size </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramtype">int </td>
|
||||||
|
<td class="paramname"><em>value</em></td><td>)</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Sets the size of the send buffer used for the socket. </p>
|
||||||
|
<p>Sets the size of the send buffer that the operating system uses for the socket.<br />
|
||||||
|
This function works for tcp, pipe and udp handles on Unix and for tcp and udp handles on Windows.<br />
|
||||||
|
Note that Linux will set double the size.</p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>Underlying return value. </dd></dl>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="handle_8hpp_source.html#l00183">183</a> of file <a class="el" href="handle_8hpp_source.html">handle.hpp</a>.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="a5852080ba1fd71a302c2424cf2df9a27" name="a5852080ba1fd71a302c2424cf2df9a27"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#a5852080ba1fd71a302c2424cf2df9a27">◆ </a></span>size()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<div class="memtemplate">
|
||||||
|
template<typename T , typename U , typename... E> </div>
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">std::size_t <a class="el" href="classuvw_1_1handle.html">uvw::handle</a>< T, U, E >::size </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td> const</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Returns the size of the underlying handle type. </p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>The size of the underlying handle type. </dd></dl>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="handle_8hpp_source.html#l00150">150</a> of file <a class="el" href="handle_8hpp_source.html">handle.hpp</a>.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="a88018be1fa3105e958c50a9f1881baa9" name="a88018be1fa3105e958c50a9f1881baa9"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#a88018be1fa3105e958c50a9f1881baa9">◆ </a></span>type()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<div class="memtemplate">
|
||||||
|
template<typename T , typename U , typename... E> </div>
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname"><a class="el" href="namespaceuvw.html#a3954d5751b5b6ebb0c90c195e9b94edd">handle_type</a> <a class="el" href="classuvw_1_1handle.html">uvw::handle</a>< T, U, E >::type </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td> const</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Gets the type of the handle. </p>
|
||||||
|
<p>A base handle offers no functionality to promote it to the actual handle type. By means of this function, the type of the underlying handle as specified by handle_type is made available to the users.</p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>The actual type of the handle. </dd></dl>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="handle_8hpp_source.html#l00065">65</a> of file <a class="el" href="handle_8hpp_source.html">handle.hpp</a>.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="a83a91d1353c19f1a05aace78dc2cc453" name="a83a91d1353c19f1a05aace78dc2cc453"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#a83a91d1353c19f1a05aace78dc2cc453">◆ </a></span>unreference()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<div class="memtemplate">
|
||||||
|
template<typename T , typename U , typename... E> </div>
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">void <a class="el" href="classuvw_1_1handle.html">uvw::handle</a>< T, U, E >::unreference </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Unreference the given handle. </p>
|
||||||
|
<p>References are idempotent, that is, if a handle is not referenced calling this function again will have no effect. </p>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="handle_8hpp_source.html#l00134">134</a> of file <a class="el" href="handle_8hpp_source.html">handle.hpp</a>.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr/>The documentation for this class was generated from the following file:<ul>
|
||||||
|
<li>src/uvw/<a class="el" href="handle_8hpp_source.html">handle.hpp</a></li>
|
||||||
|
</ul>
|
||||||
|
</div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.6
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
6
classuvw_1_1Handle__coll__graph.map
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<map id="uvw::handle< T, U, E >" name="uvw::handle< T, U, E >">
|
||||||
|
<area shape="rect" id="node1" title="Handle base class." alt="" coords="73,167,228,192"/>
|
||||||
|
<area shape="rect" id="node2" href="$classuvw_1_1resource.html" title=" " alt="" coords="80,79,221,119"/>
|
||||||
|
<area shape="rect" id="node3" href="$structuvw_1_1uv__type.html" title="Wrapper class for underlying types." alt="" coords="5,5,133,31"/>
|
||||||
|
<area shape="rect" id="node4" href="$classuvw_1_1emitter.html" title=" " alt="" coords="158,5,309,31"/>
|
||||||
|
</map>
|
||||||
1
classuvw_1_1Handle__coll__graph.md5
Normal file
@ -0,0 +1 @@
|
|||||||
|
36a27886966a231dc3a2d0405d62477b
|
||||||
BIN
classuvw_1_1Handle__coll__graph.png
Normal file
|
After Width: | Height: | Size: 4.6 KiB |
12
classuvw_1_1Handle__inherit__graph.map
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<map id="uvw::handle< T, U, E >" name="uvw::handle< T, U, E >">
|
||||||
|
<area shape="rect" id="node1" title="Handle base class." alt="" coords="393,77,548,102"/>
|
||||||
|
<area shape="rect" id="node5" href="$classuvw_1_1stream__handle.html" title=" " alt="" coords="596,5,773,45"/>
|
||||||
|
<area shape="rect" id="node7" href="$classuvw_1_1stream__handle.html" title=" " alt="" coords="602,69,767,109"/>
|
||||||
|
<area shape="rect" id="node9" href="$classuvw_1_1stream__handle.html" title=" " alt="" coords="605,133,764,173"/>
|
||||||
|
<area shape="rect" id="node2" href="$classuvw_1_1resource.html" title=" " alt="" coords="204,69,345,109"/>
|
||||||
|
<area shape="rect" id="node3" href="$structuvw_1_1uv__type.html" title="Wrapper class for underlying types." alt="" coords="17,51,145,77"/>
|
||||||
|
<area shape="rect" id="node4" href="$classuvw_1_1emitter.html" title=" " alt="" coords="5,101,156,126"/>
|
||||||
|
<area shape="rect" id="node6" href="$classuvw_1_1pipe__handle.html" title="The pipe handle." alt="" coords="821,13,941,38"/>
|
||||||
|
<area shape="rect" id="node8" href="$classuvw_1_1tcp__handle.html" title="The TCP handle." alt="" coords="824,77,939,102"/>
|
||||||
|
<area shape="rect" id="node10" href="$classuvw_1_1tty__handle.html" title="The tty handle." alt="" coords="826,141,937,166"/>
|
||||||
|
</map>
|
||||||
1
classuvw_1_1Handle__inherit__graph.md5
Normal file
@ -0,0 +1 @@
|
|||||||
|
23c7a695736c159a73b8dd7fa2ca0e8e
|
||||||
BIN
classuvw_1_1Handle__inherit__graph.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
114
classuvw_1_1Loop-members.html
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.9.6"/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
|
<title>uvw: Member List</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||||
|
<script type="text/javascript" src="search/search.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr id="projectrow">
|
||||||
|
<td id="projectalign">
|
||||||
|
<div id="projectname">uvw<span id="projectnumber"> 3.1.0</span>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.9.6 -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" src="menudata.js"></script>
|
||||||
|
<script type="text/javascript" src="menu.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
$(function() {
|
||||||
|
initMenu('',true,false,'search.php','Search');
|
||||||
|
$(document).ready(function() { init_search(); });
|
||||||
|
});
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<div id="main-nav"></div>
|
||||||
|
<!-- window showing the filter options -->
|
||||||
|
<div id="MSearchSelectWindow"
|
||||||
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||||
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||||
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- iframe showing the search results (closed by default) -->
|
||||||
|
<div id="MSearchResultsWindow">
|
||||||
|
<div id="MSearchResults">
|
||||||
|
<div class="SRPage">
|
||||||
|
<div id="SRIndex">
|
||||||
|
<div id="SRResults"></div>
|
||||||
|
<div class="SRStatus" id="Loading">Loading...</div>
|
||||||
|
<div class="SRStatus" id="Searching">Searching...</div>
|
||||||
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="namespaceuvw.html">uvw</a></li><li class="navelem"><a class="el" href="classuvw_1_1loop.html">loop</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle"><div class="title">uvw::loop Member List</div></div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p>This is the complete list of members for <a class="el" href="classuvw_1_1loop.html">uvw::loop</a>, including all inherited members.</p>
|
||||||
|
<table class="directory">
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1loop.html#a5d56b835e022e812d4930367b0a4f210">alive</a>() const noexcept</td><td class="entry"><a class="el" href="classuvw_1_1loop.html">uvw::loop</a></td><td class="entry"></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1loop.html#ac0a8719f173a417a722fe779792a52e6">close</a>()</td><td class="entry"><a class="el" href="classuvw_1_1loop.html">uvw::loop</a></td><td class="entry"></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1loop.html#acb38eaee2680ed1c4ba74459e5c2a84a">configure</a>(option flag, Args &&...args)</td><td class="entry"><a class="el" href="classuvw_1_1loop.html">uvw::loop</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1loop.html#a77a8922defbd7643a4b18550d263a8d6">create</a>()</td><td class="entry"><a class="el" href="classuvw_1_1loop.html">uvw::loop</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1loop.html#ad4d9897ff0dbc9a534bf38731fa16b46">create</a>(uv_loop_t *res)</td><td class="entry"><a class="el" href="classuvw_1_1loop.html">uvw::loop</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1loop.html#a1b1266e74e2a0edf9493394af3847bb3">data</a>() const</td><td class="entry"><a class="el" href="classuvw_1_1loop.html">uvw::loop</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1loop.html#a7b5f858b0de8daf348f89af2997063c7">data</a>(std::shared_ptr< void > ud)</td><td class="entry"><a class="el" href="classuvw_1_1loop.html">uvw::loop</a></td><td class="entry"></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1loop.html#addbc84b4d00e0e61cf68bff4b7560b1f">descriptor</a>() const noexcept</td><td class="entry"><a class="el" href="classuvw_1_1loop.html">uvw::loop</a></td><td class="entry"></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1loop.html#a2a569b877ff0c1cd3f66e21d5a2ded4c">fork</a>() noexcept</td><td class="entry"><a class="el" href="classuvw_1_1loop.html">uvw::loop</a></td><td class="entry"></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1loop.html#a6392ce48b55f9b5644eeec2d6ce0e6d4">get_default</a>()</td><td class="entry"><a class="el" href="classuvw_1_1loop.html">uvw::loop</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1emitter.html#ac02a29fe156faba7571b50450fc4f780">has</a>() const noexcept</td><td class="entry"><a class="el" href="classuvw_1_1emitter.html">uvw::emitter< loop ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1loop.html#aeae404d30c956b2c5fa15ec3997f47fc">idle_time</a>() const noexcept</td><td class="entry"><a class="el" href="classuvw_1_1loop.html">uvw::loop</a></td><td class="entry"></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1loop.html#a22d30bda64387cb70bd348f8e3b2932d">metrics</a>() const noexcept</td><td class="entry"><a class="el" href="classuvw_1_1loop.html">uvw::loop</a></td><td class="entry"></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1loop.html#ab48abde5d862db1a856900b08ecc02dd">now</a>() const noexcept</td><td class="entry"><a class="el" href="classuvw_1_1loop.html">uvw::loop</a></td><td class="entry"></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1emitter.html#ab913fa1c005a33c73b2eb2b0d1051b1f">on</a>(listener_t< U > f)</td><td class="entry"><a class="el" href="classuvw_1_1emitter.html">uvw::emitter< loop ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1loop.html#a4e1f127cadc84b1729bc7835b697d3bf">raw</a>() const noexcept</td><td class="entry"><a class="el" href="classuvw_1_1loop.html">uvw::loop</a></td><td class="entry"></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1loop.html#a8be924a8e240c444c69fe7c4e754892f">raw</a>() noexcept</td><td class="entry"><a class="el" href="classuvw_1_1loop.html">uvw::loop</a></td><td class="entry"></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1emitter.html#accff5c096692f5eebbe941189644e69d">reset</a>() noexcept</td><td class="entry"><a class="el" href="classuvw_1_1emitter.html">uvw::emitter< loop ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1emitter.html#aa71435e74e775cfa7012fe2e52ca5193">reset</a>() noexcept</td><td class="entry"><a class="el" href="classuvw_1_1emitter.html">uvw::emitter< loop ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1loop.html#a36e1eb17d55ab7b8d089e55823015618">resource</a>(Args &&...args)</td><td class="entry"><a class="el" href="classuvw_1_1loop.html">uvw::loop</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1loop.html#a199e23bce642f5618e3d0c2b1e8d0cdf">run</a>(run_mode mode=run_mode::DEFAULT) noexcept</td><td class="entry"><a class="el" href="classuvw_1_1loop.html">uvw::loop</a></td><td class="entry"></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1loop.html#aaafbdbc9022bf12d4aad3db16dcee442">stop</a>() noexcept</td><td class="entry"><a class="el" href="classuvw_1_1loop.html">uvw::loop</a></td><td class="entry"></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1loop.html#aa358c1daf70696679edd08513e1f3e31">timeout</a>() const noexcept</td><td class="entry"><a class="el" href="classuvw_1_1loop.html">uvw::loop</a></td><td class="entry"></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1loop.html#aef0dbe4d1e82e43a8df3df1c7386efca">uninitialized_resource</a>(Args &&...args)</td><td class="entry"><a class="el" href="classuvw_1_1loop.html">uvw::loop</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1loop.html#a762ed24cc491eef2c942505d1885b0aa">update</a>() const noexcept</td><td class="entry"><a class="el" href="classuvw_1_1loop.html">uvw::loop</a></td><td class="entry"></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1loop.html#aa46a050e186935c0be4eca7815cd9207">walk</a>(Func callback)</td><td class="entry"><a class="el" href="classuvw_1_1loop.html">uvw::loop</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
</table></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.6
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
915
classuvw_1_1Loop.html
Normal file
@ -0,0 +1,915 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.9.6"/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
|
<title>uvw: uvw::loop Class Reference</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||||
|
<script type="text/javascript" src="search/search.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr id="projectrow">
|
||||||
|
<td id="projectalign">
|
||||||
|
<div id="projectname">uvw<span id="projectnumber"> 3.1.0</span>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.9.6 -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" src="menudata.js"></script>
|
||||||
|
<script type="text/javascript" src="menu.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
$(function() {
|
||||||
|
initMenu('',true,false,'search.php','Search');
|
||||||
|
$(document).ready(function() { init_search(); });
|
||||||
|
});
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<div id="main-nav"></div>
|
||||||
|
<!-- window showing the filter options -->
|
||||||
|
<div id="MSearchSelectWindow"
|
||||||
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||||
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||||
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- iframe showing the search results (closed by default) -->
|
||||||
|
<div id="MSearchResultsWindow">
|
||||||
|
<div id="MSearchResults">
|
||||||
|
<div class="SRPage">
|
||||||
|
<div id="SRIndex">
|
||||||
|
<div id="SRResults"></div>
|
||||||
|
<div class="SRStatus" id="Loading">Loading...</div>
|
||||||
|
<div class="SRStatus" id="Searching">Searching...</div>
|
||||||
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="namespaceuvw.html">uvw</a></li><li class="navelem"><a class="el" href="classuvw_1_1loop.html">loop</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="summary">
|
||||||
|
<a href="#pub-methods">Public Member Functions</a> |
|
||||||
|
<a href="#pub-static-methods">Static Public Member Functions</a> |
|
||||||
|
<a href="classuvw_1_1loop-members.html">List of all members</a> </div>
|
||||||
|
<div class="headertitle"><div class="title">uvw::loop Class Reference<span class="mlabels"><span class="mlabel">final</span></span></div></div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p>The loop class.
|
||||||
|
<a href="classuvw_1_1loop.html#details">More...</a></p>
|
||||||
|
|
||||||
|
<p><code>#include <<a class="el" href="loop_8h_source.html">loop.h</a>></code></p>
|
||||||
|
<div class="dynheader">
|
||||||
|
Inheritance diagram for uvw::loop:</div>
|
||||||
|
<div class="dyncontent">
|
||||||
|
<div class="center"><img src="classuvw_1_1loop__inherit__graph.png" border="0" usemap="#auvw_1_1loop_inherit__map" alt="Inheritance graph"/></div>
|
||||||
|
<map name="auvw_1_1loop_inherit__map" id="auvw_1_1loop_inherit__map">
|
||||||
|
<area shape="rect" title="The loop class." alt="" coords="37,79,112,104"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1emitter.html" title=" " alt="" coords="5,5,144,31"/>
|
||||||
|
</map>
|
||||||
|
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
|
||||||
|
<div class="dynheader">
|
||||||
|
Collaboration diagram for uvw::loop:</div>
|
||||||
|
<div class="dyncontent">
|
||||||
|
<div class="center"><img src="classuvw_1_1loop__coll__graph.png" border="0" usemap="#auvw_1_1loop_coll__map" alt="Collaboration graph"/></div>
|
||||||
|
<map name="auvw_1_1loop_coll__map" id="auvw_1_1loop_coll__map">
|
||||||
|
<area shape="rect" title="The loop class." alt="" coords="37,79,112,104"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1emitter.html" title=" " alt="" coords="5,5,144,31"/>
|
||||||
|
</map>
|
||||||
|
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
|
||||||
|
<table class="memberdecls">
|
||||||
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
|
||||||
|
Public Member Functions</h2></td></tr>
|
||||||
|
<tr class="memitem:acb38eaee2680ed1c4ba74459e5c2a84a"><td class="memTemplParams" colspan="2">template<typename... Args> </td></tr>
|
||||||
|
<tr class="memitem:acb38eaee2680ed1c4ba74459e5c2a84a"><td class="memTemplItemLeft" align="right" valign="top">int </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classuvw_1_1loop.html#acb38eaee2680ed1c4ba74459e5c2a84a">configure</a> (option flag, Args &&...args)</td></tr>
|
||||||
|
<tr class="memdesc:acb38eaee2680ed1c4ba74459e5c2a84a"><td class="mdescLeft"> </td><td class="mdescRight">Sets additional loop options. <br /></td></tr>
|
||||||
|
<tr class="separator:acb38eaee2680ed1c4ba74459e5c2a84a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a36e1eb17d55ab7b8d089e55823015618"><td class="memTemplParams" colspan="2">template<typename R , typename... Args> </td></tr>
|
||||||
|
<tr class="memitem:a36e1eb17d55ab7b8d089e55823015618"><td class="memTemplItemLeft" align="right" valign="top">std::shared_ptr< R > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classuvw_1_1loop.html#a36e1eb17d55ab7b8d089e55823015618">resource</a> (Args &&...args)</td></tr>
|
||||||
|
<tr class="memdesc:a36e1eb17d55ab7b8d089e55823015618"><td class="mdescLeft"> </td><td class="mdescRight">Creates resources of any type. <br /></td></tr>
|
||||||
|
<tr class="separator:a36e1eb17d55ab7b8d089e55823015618"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:aef0dbe4d1e82e43a8df3df1c7386efca"><td class="memTemplParams" colspan="2">template<typename R , typename... Args> </td></tr>
|
||||||
|
<tr class="memitem:aef0dbe4d1e82e43a8df3df1c7386efca"><td class="memTemplItemLeft" align="right" valign="top">std::shared_ptr< R > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classuvw_1_1loop.html#aef0dbe4d1e82e43a8df3df1c7386efca">uninitialized_resource</a> (Args &&...args)</td></tr>
|
||||||
|
<tr class="memdesc:aef0dbe4d1e82e43a8df3df1c7386efca"><td class="mdescLeft"> </td><td class="mdescRight">Creates uninitialized resources of any type. <br /></td></tr>
|
||||||
|
<tr class="separator:aef0dbe4d1e82e43a8df3df1c7386efca"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ac0a8719f173a417a722fe779792a52e6"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1loop.html#ac0a8719f173a417a722fe779792a52e6">close</a> ()</td></tr>
|
||||||
|
<tr class="memdesc:ac0a8719f173a417a722fe779792a52e6"><td class="mdescLeft"> </td><td class="mdescRight">Releases all internal loop resources. <br /></td></tr>
|
||||||
|
<tr class="separator:ac0a8719f173a417a722fe779792a52e6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a199e23bce642f5618e3d0c2b1e8d0cdf"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1loop.html#a199e23bce642f5618e3d0c2b1e8d0cdf">run</a> (run_mode mode=run_mode::DEFAULT) noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a199e23bce642f5618e3d0c2b1e8d0cdf"><td class="mdescLeft"> </td><td class="mdescRight">Runs the event loop. <br /></td></tr>
|
||||||
|
<tr class="separator:a199e23bce642f5618e3d0c2b1e8d0cdf"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a5d56b835e022e812d4930367b0a4f210"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1loop.html#a5d56b835e022e812d4930367b0a4f210">alive</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a5d56b835e022e812d4930367b0a4f210"><td class="mdescLeft"> </td><td class="mdescRight">Checks if there are active resources. <br /></td></tr>
|
||||||
|
<tr class="separator:a5d56b835e022e812d4930367b0a4f210"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:aaafbdbc9022bf12d4aad3db16dcee442"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1loop.html#aaafbdbc9022bf12d4aad3db16dcee442">stop</a> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:aaafbdbc9022bf12d4aad3db16dcee442"><td class="mdescLeft"> </td><td class="mdescRight">Stops the event loop. <br /></td></tr>
|
||||||
|
<tr class="separator:aaafbdbc9022bf12d4aad3db16dcee442"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:addbc84b4d00e0e61cf68bff4b7560b1f"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1loop.html#addbc84b4d00e0e61cf68bff4b7560b1f">descriptor</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:addbc84b4d00e0e61cf68bff4b7560b1f"><td class="mdescLeft"> </td><td class="mdescRight">Get backend file descriptor. <br /></td></tr>
|
||||||
|
<tr class="separator:addbc84b4d00e0e61cf68bff4b7560b1f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:aa358c1daf70696679edd08513e1f3e31"><td class="memItemLeft" align="right" valign="top">std::pair< bool, time > </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1loop.html#aa358c1daf70696679edd08513e1f3e31">timeout</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:aa358c1daf70696679edd08513e1f3e31"><td class="mdescLeft"> </td><td class="mdescRight">Gets the poll timeout. <br /></td></tr>
|
||||||
|
<tr class="separator:aa358c1daf70696679edd08513e1f3e31"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:aeae404d30c956b2c5fa15ec3997f47fc"><td class="memItemLeft" align="right" valign="top">time </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1loop.html#aeae404d30c956b2c5fa15ec3997f47fc">idle_time</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:aeae404d30c956b2c5fa15ec3997f47fc"><td class="mdescLeft"> </td><td class="mdescRight">Returns the amount of time the event loop has been idle. The call is thread safe. <br /></td></tr>
|
||||||
|
<tr class="separator:aeae404d30c956b2c5fa15ec3997f47fc"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a22d30bda64387cb70bd348f8e3b2932d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceuvw.html#af9dde6c7d8c096633c47b47962ba91e3">metrics_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1loop.html#a22d30bda64387cb70bd348f8e3b2932d">metrics</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a22d30bda64387cb70bd348f8e3b2932d"><td class="mdescLeft"> </td><td class="mdescRight">Tracks various internal operations of the event loop. <br /></td></tr>
|
||||||
|
<tr class="separator:a22d30bda64387cb70bd348f8e3b2932d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ab48abde5d862db1a856900b08ecc02dd"><td class="memItemLeft" align="right" valign="top">time </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1loop.html#ab48abde5d862db1a856900b08ecc02dd">now</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:ab48abde5d862db1a856900b08ecc02dd"><td class="mdescLeft"> </td><td class="mdescRight">Returns the current timestamp in milliseconds. <br /></td></tr>
|
||||||
|
<tr class="separator:ab48abde5d862db1a856900b08ecc02dd"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a762ed24cc491eef2c942505d1885b0aa"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1loop.html#a762ed24cc491eef2c942505d1885b0aa">update</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a762ed24cc491eef2c942505d1885b0aa"><td class="mdescLeft"> </td><td class="mdescRight">Updates the event loop’s concept of <em>now</em>. <br /></td></tr>
|
||||||
|
<tr class="separator:a762ed24cc491eef2c942505d1885b0aa"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:aa46a050e186935c0be4eca7815cd9207"><td class="memTemplParams" colspan="2">template<typename Func > </td></tr>
|
||||||
|
<tr class="memitem:aa46a050e186935c0be4eca7815cd9207"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classuvw_1_1loop.html#aa46a050e186935c0be4eca7815cd9207">walk</a> (Func callback)</td></tr>
|
||||||
|
<tr class="memdesc:aa46a050e186935c0be4eca7815cd9207"><td class="mdescLeft"> </td><td class="mdescRight">Walks the list of handles. <br /></td></tr>
|
||||||
|
<tr class="separator:aa46a050e186935c0be4eca7815cd9207"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a2a569b877ff0c1cd3f66e21d5a2ded4c"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1loop.html#a2a569b877ff0c1cd3f66e21d5a2ded4c">fork</a> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a2a569b877ff0c1cd3f66e21d5a2ded4c"><td class="mdescLeft"> </td><td class="mdescRight">Reinitialize any kernel state necessary in the child process after a fork(2) system call. <br /></td></tr>
|
||||||
|
<tr class="separator:a2a569b877ff0c1cd3f66e21d5a2ded4c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a1b1266e74e2a0edf9493394af3847bb3"><td class="memTemplParams" colspan="2">template<typename R = void> </td></tr>
|
||||||
|
<tr class="memitem:a1b1266e74e2a0edf9493394af3847bb3"><td class="memTemplItemLeft" align="right" valign="top">std::shared_ptr< R > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classuvw_1_1loop.html#a1b1266e74e2a0edf9493394af3847bb3">data</a> () const</td></tr>
|
||||||
|
<tr class="memdesc:a1b1266e74e2a0edf9493394af3847bb3"><td class="mdescLeft"> </td><td class="mdescRight">Gets user-defined data. <code>uvw</code> won't use this field in any case. <br /></td></tr>
|
||||||
|
<tr class="separator:a1b1266e74e2a0edf9493394af3847bb3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a7b5f858b0de8daf348f89af2997063c7"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1loop.html#a7b5f858b0de8daf348f89af2997063c7">data</a> (std::shared_ptr< void > ud)</td></tr>
|
||||||
|
<tr class="memdesc:a7b5f858b0de8daf348f89af2997063c7"><td class="mdescLeft"> </td><td class="mdescRight">Sets arbitrary data. <code>uvw</code> won't use this field in any case. <br /></td></tr>
|
||||||
|
<tr class="separator:a7b5f858b0de8daf348f89af2997063c7"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a4e1f127cadc84b1729bc7835b697d3bf"><td class="memItemLeft" align="right" valign="top">const uv_loop_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1loop.html#a4e1f127cadc84b1729bc7835b697d3bf">raw</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a4e1f127cadc84b1729bc7835b697d3bf"><td class="mdescLeft"> </td><td class="mdescRight">Gets the underlying raw data structure. <br /></td></tr>
|
||||||
|
<tr class="separator:a4e1f127cadc84b1729bc7835b697d3bf"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a8be924a8e240c444c69fe7c4e754892f"><td class="memItemLeft" align="right" valign="top">uv_loop_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1loop.html#a8be924a8e240c444c69fe7c4e754892f">raw</a> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a8be924a8e240c444c69fe7c4e754892f"><td class="mdescLeft"> </td><td class="mdescRight">Gets the underlying raw data structure. <br /></td></tr>
|
||||||
|
<tr class="separator:a8be924a8e240c444c69fe7c4e754892f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="inherit_header pub_methods_classuvw_1_1emitter"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classuvw_1_1emitter')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classuvw_1_1emitter.html">uvw::emitter< loop ></a></td></tr>
|
||||||
|
<tr class="memitem:ab913fa1c005a33c73b2eb2b0d1051b1f inherit pub_methods_classuvw_1_1emitter"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1emitter.html#ab913fa1c005a33c73b2eb2b0d1051b1f">on</a> (listener_t< U > f)</td></tr>
|
||||||
|
<tr class="memdesc:ab913fa1c005a33c73b2eb2b0d1051b1f inherit pub_methods_classuvw_1_1emitter"><td class="mdescLeft"> </td><td class="mdescRight">Registers a long-lived listener with the event emitter. <br /></td></tr>
|
||||||
|
<tr class="separator:ab913fa1c005a33c73b2eb2b0d1051b1f inherit pub_methods_classuvw_1_1emitter"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:accff5c096692f5eebbe941189644e69d inherit pub_methods_classuvw_1_1emitter"><td class="memItemLeft" align="right" valign="top"><a id="accff5c096692f5eebbe941189644e69d" name="accff5c096692f5eebbe941189644e69d"></a>
|
||||||
|
void </td><td class="memItemRight" valign="bottom"><b>reset</b> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:accff5c096692f5eebbe941189644e69d inherit pub_methods_classuvw_1_1emitter"><td class="mdescLeft"> </td><td class="mdescRight">Disconnects the listener for the given event type. <br /></td></tr>
|
||||||
|
<tr class="separator:accff5c096692f5eebbe941189644e69d inherit pub_methods_classuvw_1_1emitter"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:aa71435e74e775cfa7012fe2e52ca5193 inherit pub_methods_classuvw_1_1emitter"><td class="memItemLeft" align="right" valign="top"><a id="aa71435e74e775cfa7012fe2e52ca5193" name="aa71435e74e775cfa7012fe2e52ca5193"></a>
|
||||||
|
void </td><td class="memItemRight" valign="bottom"><b>reset</b> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:aa71435e74e775cfa7012fe2e52ca5193 inherit pub_methods_classuvw_1_1emitter"><td class="mdescLeft"> </td><td class="mdescRight">Disconnects all listeners. <br /></td></tr>
|
||||||
|
<tr class="separator:aa71435e74e775cfa7012fe2e52ca5193 inherit pub_methods_classuvw_1_1emitter"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ac02a29fe156faba7571b50450fc4f780 inherit pub_methods_classuvw_1_1emitter"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1emitter.html#ac02a29fe156faba7571b50450fc4f780">has</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:ac02a29fe156faba7571b50450fc4f780 inherit pub_methods_classuvw_1_1emitter"><td class="mdescLeft"> </td><td class="mdescRight">Checks if there is a listener registered for the specific event. <br /></td></tr>
|
||||||
|
<tr class="separator:ac02a29fe156faba7571b50450fc4f780 inherit pub_methods_classuvw_1_1emitter"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
</table><table class="memberdecls">
|
||||||
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
|
||||||
|
Static Public Member Functions</h2></td></tr>
|
||||||
|
<tr class="memitem:a77a8922defbd7643a4b18550d263a8d6"><td class="memItemLeft" align="right" valign="top">static std::shared_ptr< <a class="el" href="classuvw_1_1loop.html">loop</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1loop.html#a77a8922defbd7643a4b18550d263a8d6">create</a> ()</td></tr>
|
||||||
|
<tr class="memdesc:a77a8922defbd7643a4b18550d263a8d6"><td class="mdescLeft"> </td><td class="mdescRight">Initializes a new loop instance. <br /></td></tr>
|
||||||
|
<tr class="separator:a77a8922defbd7643a4b18550d263a8d6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ad4d9897ff0dbc9a534bf38731fa16b46"><td class="memItemLeft" align="right" valign="top">static std::shared_ptr< <a class="el" href="classuvw_1_1loop.html">loop</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1loop.html#ad4d9897ff0dbc9a534bf38731fa16b46">create</a> (uv_loop_t *res)</td></tr>
|
||||||
|
<tr class="memdesc:ad4d9897ff0dbc9a534bf38731fa16b46"><td class="mdescLeft"> </td><td class="mdescRight">Initializes a new loop instance from an existing resource. <br /></td></tr>
|
||||||
|
<tr class="separator:ad4d9897ff0dbc9a534bf38731fa16b46"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a6392ce48b55f9b5644eeec2d6ce0e6d4"><td class="memItemLeft" align="right" valign="top">static std::shared_ptr< <a class="el" href="classuvw_1_1loop.html">loop</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1loop.html#a6392ce48b55f9b5644eeec2d6ce0e6d4">get_default</a> ()</td></tr>
|
||||||
|
<tr class="memdesc:a6392ce48b55f9b5644eeec2d6ce0e6d4"><td class="mdescLeft"> </td><td class="mdescRight">Gets the initialized default loop. <br /></td></tr>
|
||||||
|
<tr class="separator:a6392ce48b55f9b5644eeec2d6ce0e6d4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
</table>
|
||||||
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||||
|
<div class="textblock"><p>The loop class. </p>
|
||||||
|
<p>The event loop is the central part of <code>uvw</code>'s functionalities, as well as <code>libuv</code>'s ones.<br />
|
||||||
|
It takes care of polling for I/O and scheduling callbacks to be run based on different sources of events. </p>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="loop_8h_source.html#l00060">60</a> of file <a class="el" href="loop_8h_source.html">loop.h</a>.</p>
|
||||||
|
</div><h2 class="groupheader">Member Function Documentation</h2>
|
||||||
|
<a id="a5d56b835e022e812d4930367b0a4f210" name="a5d56b835e022e812d4930367b0a4f210"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#a5d56b835e022e812d4930367b0a4f210">◆ </a></span>alive()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">bool uvw::loop::alive </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td> const</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Checks if there are active resources. </p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>True if there are active resources in the loop. </dd></dl>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="ac0a8719f173a417a722fe779792a52e6" name="ac0a8719f173a417a722fe779792a52e6"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#ac0a8719f173a417a722fe779792a52e6">◆ </a></span>close()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">int uvw::loop::close </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Releases all internal loop resources. </p>
|
||||||
|
<p>Call this function only when the loop has finished executing and all open handles and requests have been closed, or the loop will error.</p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>Underlying return value. </dd></dl>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="acb38eaee2680ed1c4ba74459e5c2a84a" name="acb38eaee2680ed1c4ba74459e5c2a84a"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#acb38eaee2680ed1c4ba74459e5c2a84a">◆ </a></span>configure()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<div class="memtemplate">
|
||||||
|
template<typename... Args> </div>
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">int uvw::loop::configure </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramtype">option </td>
|
||||||
|
<td class="paramname"><em>flag</em>, </td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="paramkey"></td>
|
||||||
|
<td></td>
|
||||||
|
<td class="paramtype">Args &&... </td>
|
||||||
|
<td class="paramname"><em>args</em> </td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td>)</td>
|
||||||
|
<td></td><td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Sets additional loop options. </p>
|
||||||
|
<p>You should normally call this before the first call to uv_run() unless mentioned otherwise.<br />
|
||||||
|
Supported options:</p>
|
||||||
|
<ul>
|
||||||
|
<li><code>loop::option::BLOCK_SIGNAL</code>: Block a signal when polling for new events. A second argument is required and it is the signal number.</li>
|
||||||
|
<li><code>loop::option::IDLE_TIME</code>: Accumulate the amount of idle time the event loop spends in the event provider. This option is necessary to use <code><a class="el" href="classuvw_1_1loop.html#aeae404d30c956b2c5fa15ec3997f47fc" title="Returns the amount of time the event loop has been idle. The call is thread safe.">idle_time()</a></code>.</li>
|
||||||
|
</ul>
|
||||||
|
<p>See the official <a href="http://docs.libuv.org/en/v1.x/loop.html#c.uv_loop_configure">documentation</a> for further details.</p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>Underlying return value. </dd></dl>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="loop_8h_source.html#l00139">139</a> of file <a class="el" href="loop_8h_source.html">loop.h</a>.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="a77a8922defbd7643a4b18550d263a8d6" name="a77a8922defbd7643a4b18550d263a8d6"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#a77a8922defbd7643a4b18550d263a8d6">◆ </a></span>create() <span class="overload">[1/2]</span></h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">static std::shared_ptr< <a class="el" href="classuvw_1_1loop.html">loop</a> > uvw::loop::create </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Initializes a new loop instance. </p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>A pointer to the newly created loop. </dd></dl>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="ad4d9897ff0dbc9a534bf38731fa16b46" name="ad4d9897ff0dbc9a534bf38731fa16b46"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#ad4d9897ff0dbc9a534bf38731fa16b46">◆ </a></span>create() <span class="overload">[2/2]</span></h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">static std::shared_ptr< <a class="el" href="classuvw_1_1loop.html">loop</a> > uvw::loop::create </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramtype">uv_loop_t * </td>
|
||||||
|
<td class="paramname"><em>res</em></td><td>)</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Initializes a new loop instance from an existing resource. </p>
|
||||||
|
<p>The lifetime of the resource must exceed that of the instance to which it's associated. Management of the memory associated with the resource is in charge of the user.</p>
|
||||||
|
<dl class="params"><dt>Parameters</dt><dd>
|
||||||
|
<table class="params">
|
||||||
|
<tr><td class="paramname">res</td><td>A valid pointer to a correctly initialized resource. </td></tr>
|
||||||
|
</table>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>A pointer to the newly created loop. </dd></dl>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="a1b1266e74e2a0edf9493394af3847bb3" name="a1b1266e74e2a0edf9493394af3847bb3"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#a1b1266e74e2a0edf9493394af3847bb3">◆ </a></span>data() <span class="overload">[1/2]</span></h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<div class="memtemplate">
|
||||||
|
template<typename R = void> </div>
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">std::shared_ptr< R > uvw::loop::data </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td> const</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Gets user-defined data. <code>uvw</code> won't use this field in any case. </p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>User-defined data if any, an invalid pointer otherwise. </dd></dl>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="loop_8h_source.html#l00375">375</a> of file <a class="el" href="loop_8h_source.html">loop.h</a>.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="a7b5f858b0de8daf348f89af2997063c7" name="a7b5f858b0de8daf348f89af2997063c7"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#a7b5f858b0de8daf348f89af2997063c7">◆ </a></span>data() <span class="overload">[2/2]</span></h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">void uvw::loop::data </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramtype">std::shared_ptr< void > </td>
|
||||||
|
<td class="paramname"><em>ud</em></td><td>)</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Sets arbitrary data. <code>uvw</code> won't use this field in any case. </p>
|
||||||
|
<dl class="params"><dt>Parameters</dt><dd>
|
||||||
|
<table class="params">
|
||||||
|
<tr><td class="paramname">ud</td><td>User-defined arbitrary data. </td></tr>
|
||||||
|
</table>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="addbc84b4d00e0e61cf68bff4b7560b1f" name="addbc84b4d00e0e61cf68bff4b7560b1f"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#addbc84b4d00e0e61cf68bff4b7560b1f">◆ </a></span>descriptor()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">int uvw::loop::descriptor </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td> const</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Get backend file descriptor. </p>
|
||||||
|
<p>Only kqueue, epoll and event ports are supported.<br />
|
||||||
|
This can be used in conjunction with <code>run(loop::run_mode::NOWAIT)</code> to poll in one thread and run the event loop’s callbacks in another.</p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>The backend file descriptor. </dd></dl>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="a2a569b877ff0c1cd3f66e21d5a2ded4c" name="a2a569b877ff0c1cd3f66e21d5a2ded4c"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#a2a569b877ff0c1cd3f66e21d5a2ded4c">◆ </a></span>fork()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">int uvw::loop::fork </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Reinitialize any kernel state necessary in the child process after a fork(2) system call. </p>
|
||||||
|
<p>Previously started watchers will continue to be started in the child process.</p>
|
||||||
|
<p>It is necessary to explicitly call this function on every event loop created in the parent process that you plan to continue to use in the child, including the default loop (even if you don’t continue to use it in the parent). This function must be called before calling any API function using the loop in the child. Failure to do so will result in undefined behaviour, possibly including duplicate events delivered to both parent and child or aborting the child process.</p>
|
||||||
|
<p>When possible, it is preferred to create a new loop in the child process instead of reusing a loop created in the parent. New loops created in the child process after the fork should not use this function.</p>
|
||||||
|
<p>Note that this function is not implemented on Windows.<br />
|
||||||
|
Note also that this function is experimental in <code>libuv</code>. It may contain bugs, and is subject to change or removal. API and ABI stability is not guaranteed.</p>
|
||||||
|
<p>See the official <a href="http://docs.libuv.org/en/v1.x/loop.html#c.uv_loop_fork">documentation</a> for further details.</p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>Underlying return value. </dd></dl>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="a6392ce48b55f9b5644eeec2d6ce0e6d4" name="a6392ce48b55f9b5644eeec2d6ce0e6d4"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#a6392ce48b55f9b5644eeec2d6ce0e6d4">◆ </a></span>get_default()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">static std::shared_ptr< <a class="el" href="classuvw_1_1loop.html">loop</a> > uvw::loop::get_default </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Gets the initialized default loop. </p>
|
||||||
|
<p>It may return an empty pointer in case of failure.<br />
|
||||||
|
This function is just a convenient way for having a global loop throughout an application, the default loop is in no way different than the ones initialized with <code><a class="el" href="classuvw_1_1loop.html#a77a8922defbd7643a4b18550d263a8d6" title="Initializes a new loop instance.">create()</a></code>.<br />
|
||||||
|
As such, the default loop can be closed with <code><a class="el" href="classuvw_1_1loop.html#ac0a8719f173a417a722fe779792a52e6" title="Releases all internal loop resources.">close()</a></code> so the resources associated with it are freed (even if it is not strictly necessary).</p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>The initialized default loop. </dd></dl>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="aeae404d30c956b2c5fa15ec3997f47fc" name="aeae404d30c956b2c5fa15ec3997f47fc"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#aeae404d30c956b2c5fa15ec3997f47fc">◆ </a></span>idle_time()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">time uvw::loop::idle_time </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td> const</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Returns the amount of time the event loop has been idle. The call is thread safe. </p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>The accumulated time spent idle. </dd></dl>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="a22d30bda64387cb70bd348f8e3b2932d" name="a22d30bda64387cb70bd348f8e3b2932d"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#a22d30bda64387cb70bd348f8e3b2932d">◆ </a></span>metrics()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname"><a class="el" href="namespaceuvw.html#af9dde6c7d8c096633c47b47962ba91e3">metrics_type</a> uvw::loop::metrics </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td> const</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Tracks various internal operations of the event loop. </p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>Event loop metrics. </dd></dl>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="ab48abde5d862db1a856900b08ecc02dd" name="ab48abde5d862db1a856900b08ecc02dd"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#ab48abde5d862db1a856900b08ecc02dd">◆ </a></span>now()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">time uvw::loop::now </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td> const</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Returns the current timestamp in milliseconds. </p>
|
||||||
|
<p>The timestamp is cached at the start of the event loop tick.<br />
|
||||||
|
The timestamp increases monotonically from some arbitrary point in time.<br />
|
||||||
|
Don’t make assumptions about the starting point, you will only get disappointed.</p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>The current timestamp in milliseconds (actual type is <code>std::chrono::duration<uint64_t, std::milli></code>). </dd></dl>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="a4e1f127cadc84b1729bc7835b697d3bf" name="a4e1f127cadc84b1729bc7835b697d3bf"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#a4e1f127cadc84b1729bc7835b697d3bf">◆ </a></span>raw() <span class="overload">[1/2]</span></h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">const uv_loop_t * uvw::loop::raw </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td> const</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Gets the underlying raw data structure. </p>
|
||||||
|
<p>This function should not be used, unless you know exactly what you are doing and what are the risks.<br />
|
||||||
|
Going raw is dangerous, mainly because the lifetime management of a loop, a handle or a request is in charge to the library itself and users should not work around it.</p>
|
||||||
|
<dl class="section warning"><dt>Warning</dt><dd>Use this function at your own risk, but do not expect any support in case of bugs.</dd></dl>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>The underlying raw data structure. </dd></dl>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="a8be924a8e240c444c69fe7c4e754892f" name="a8be924a8e240c444c69fe7c4e754892f"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#a8be924a8e240c444c69fe7c4e754892f">◆ </a></span>raw() <span class="overload">[2/2]</span></h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">uv_loop_t * uvw::loop::raw </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Gets the underlying raw data structure. </p>
|
||||||
|
<p>This function should not be used, unless you know exactly what you are doing and what are the risks.<br />
|
||||||
|
Going raw is dangerous, mainly because the lifetime management of a loop, a handle or a request is in charge to the library itself and users should not work around it.</p>
|
||||||
|
<dl class="section warning"><dt>Warning</dt><dd>Use this function at your own risk, but do not expect any support in case of bugs.</dd></dl>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>The underlying raw data structure. </dd></dl>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="a36e1eb17d55ab7b8d089e55823015618" name="a36e1eb17d55ab7b8d089e55823015618"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#a36e1eb17d55ab7b8d089e55823015618">◆ </a></span>resource()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<div class="memtemplate">
|
||||||
|
template<typename R , typename... Args> </div>
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">std::shared_ptr< R > uvw::loop::resource </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramtype">Args &&... </td>
|
||||||
|
<td class="paramname"><em>args</em></td><td>)</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Creates resources of any type. </p>
|
||||||
|
<p>This should be used as a default method to create resources.<br />
|
||||||
|
The arguments are the ones required for the specific resource.</p>
|
||||||
|
<p>Use it as <code>loop->resource<<a class="el" href="classuvw_1_1timer__handle.html" title="The timer handle.">uvw::timer_handle</a>>()</code>.</p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>A pointer to the newly created resource. </dd></dl>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="loop_8h_source.html#l00154">154</a> of file <a class="el" href="loop_8h_source.html">loop.h</a>.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="a199e23bce642f5618e3d0c2b1e8d0cdf" name="a199e23bce642f5618e3d0c2b1e8d0cdf"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#a199e23bce642f5618e3d0c2b1e8d0cdf">◆ </a></span>run()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">int uvw::loop::run </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramtype">run_mode </td>
|
||||||
|
<td class="paramname"><em>mode</em> = <code>run_mode::DEFAULT</code></td><td>)</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Runs the event loop. </p>
|
||||||
|
<p>Available modes are:</p>
|
||||||
|
<ul>
|
||||||
|
<li><code>loop::run_mode::DEFAULT</code>: Runs the event loop until there are no more active and referenced handles or requests.</li>
|
||||||
|
<li><code>loop::run_mode::ONCE</code>: Poll for i/o once. Note that this function blocks if there are no pending callbacks.</li>
|
||||||
|
<li><code>loop::run_mode::NOWAIT</code>: Poll for i/o once but don’t block if there are no pending callbacks.</li>
|
||||||
|
</ul>
|
||||||
|
<p>See the official <a href="http://docs.libuv.org/en/v1.x/loop.html#c.uv_run">documentation</a> for further details.</p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>Underlying return value. </dd></dl>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="aaafbdbc9022bf12d4aad3db16dcee442" name="aaafbdbc9022bf12d4aad3db16dcee442"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#aaafbdbc9022bf12d4aad3db16dcee442">◆ </a></span>stop()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">void uvw::loop::stop </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Stops the event loop. </p>
|
||||||
|
<p>It causes <code><a class="el" href="classuvw_1_1loop.html#a199e23bce642f5618e3d0c2b1e8d0cdf" title="Runs the event loop.">run()</a></code> to end as soon as possible.<br />
|
||||||
|
This will happen not sooner than the next loop iteration.<br />
|
||||||
|
If this function was called before blocking for I/O, the loop won’t block for I/O on this iteration. </p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="aa358c1daf70696679edd08513e1f3e31" name="aa358c1daf70696679edd08513e1f3e31"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#aa358c1daf70696679edd08513e1f3e31">◆ </a></span>timeout()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">std::pair< bool, time > uvw::loop::timeout </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td> const</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Gets the poll timeout. </p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>A <code>std::pair</code> composed as it follows:<ul>
|
||||||
|
<li>A boolean value that is true in case of valid timeout, false otherwise.</li>
|
||||||
|
<li>Milliseconds (<code>std::chrono::duration<uint64_t, std::milli></code>). </li>
|
||||||
|
</ul>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="aef0dbe4d1e82e43a8df3df1c7386efca" name="aef0dbe4d1e82e43a8df3df1c7386efca"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#aef0dbe4d1e82e43a8df3df1c7386efca">◆ </a></span>uninitialized_resource()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<div class="memtemplate">
|
||||||
|
template<typename R , typename... Args> </div>
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">std::shared_ptr< R > uvw::loop::uninitialized_resource </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramtype">Args &&... </td>
|
||||||
|
<td class="paramname"><em>args</em></td><td>)</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Creates uninitialized resources of any type. </p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>A pointer to the newly created resource. </dd></dl>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="loop_8h_source.html#l00165">165</a> of file <a class="el" href="loop_8h_source.html">loop.h</a>.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="a762ed24cc491eef2c942505d1885b0aa" name="a762ed24cc491eef2c942505d1885b0aa"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#a762ed24cc491eef2c942505d1885b0aa">◆ </a></span>update()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">void uvw::loop::update </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td> const</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Updates the event loop’s concept of <em>now</em>. </p>
|
||||||
|
<p>The current time is cached at the start of the event loop tick in order to reduce the number of time-related system calls.<br />
|
||||||
|
You won’t normally need to call this function unless you have callbacks that block the event loop for longer periods of time, where <em>longer</em> is somewhat subjective but probably on the order of a millisecond or more. </p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="aa46a050e186935c0be4eca7815cd9207" name="aa46a050e186935c0be4eca7815cd9207"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#aa46a050e186935c0be4eca7815cd9207">◆ </a></span>walk()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<div class="memtemplate">
|
||||||
|
template<typename Func > </div>
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">void uvw::loop::walk </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramtype">Func </td>
|
||||||
|
<td class="paramname"><em>callback</em></td><td>)</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Walks the list of handles. </p>
|
||||||
|
<p>The callback is invoked once for each handle that is still active.</p>
|
||||||
|
<dl class="params"><dt>Parameters</dt><dd>
|
||||||
|
<table class="params">
|
||||||
|
<tr><td class="paramname">callback</td><td>A function to invoke once for each active handle. </td></tr>
|
||||||
|
</table>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="loop_8h_source.html#l00280">280</a> of file <a class="el" href="loop_8h_source.html">loop.h</a>.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr/>The documentation for this class was generated from the following file:<ul>
|
||||||
|
<li>src/uvw/<a class="el" href="loop_8h_source.html">loop.h</a></li>
|
||||||
|
</ul>
|
||||||
|
</div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.6
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
4
classuvw_1_1Loop__coll__graph.map
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<map id="uvw::loop" name="uvw::loop">
|
||||||
|
<area shape="rect" id="node1" title="The loop class." alt="" coords="37,79,112,104"/>
|
||||||
|
<area shape="rect" id="node2" href="$classuvw_1_1emitter.html" title=" " alt="" coords="5,5,144,31"/>
|
||||||
|
</map>
|
||||||
1
classuvw_1_1Loop__coll__graph.md5
Normal file
@ -0,0 +1 @@
|
|||||||
|
f1dc6e0a16395c07e40008d3cf7d5690
|
||||||
BIN
classuvw_1_1Loop__coll__graph.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
4
classuvw_1_1Loop__inherit__graph.map
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<map id="uvw::loop" name="uvw::loop">
|
||||||
|
<area shape="rect" id="node1" title="The loop class." alt="" coords="37,79,112,104"/>
|
||||||
|
<area shape="rect" id="node2" href="$classuvw_1_1emitter.html" title=" " alt="" coords="5,5,144,31"/>
|
||||||
|
</map>
|
||||||
1
classuvw_1_1Loop__inherit__graph.md5
Normal file
@ -0,0 +1 @@
|
|||||||
|
f1dc6e0a16395c07e40008d3cf7d5690
|
||||||
BIN
classuvw_1_1Loop__inherit__graph.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
95
classuvw_1_1Mutex-members.html
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.9.6"/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
|
<title>uvw: Member List</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||||
|
<script type="text/javascript" src="search/search.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr id="projectrow">
|
||||||
|
<td id="projectalign">
|
||||||
|
<div id="projectname">uvw<span id="projectnumber"> 3.1.0</span>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.9.6 -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" src="menudata.js"></script>
|
||||||
|
<script type="text/javascript" src="menu.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
$(function() {
|
||||||
|
initMenu('',true,false,'search.php','Search');
|
||||||
|
$(document).ready(function() { init_search(); });
|
||||||
|
});
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<div id="main-nav"></div>
|
||||||
|
<!-- window showing the filter options -->
|
||||||
|
<div id="MSearchSelectWindow"
|
||||||
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||||
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||||
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- iframe showing the search results (closed by default) -->
|
||||||
|
<div id="MSearchResultsWindow">
|
||||||
|
<div id="MSearchResults">
|
||||||
|
<div class="SRPage">
|
||||||
|
<div id="SRIndex">
|
||||||
|
<div id="SRResults"></div>
|
||||||
|
<div class="SRStatus" id="Loading">Loading...</div>
|
||||||
|
<div class="SRStatus" id="Searching">Searching...</div>
|
||||||
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="namespaceuvw.html">uvw</a></li><li class="navelem"><a class="el" href="classuvw_1_1mutex.html">mutex</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle"><div class="title">uvw::mutex Member List</div></div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p>This is the complete list of members for <a class="el" href="classuvw_1_1mutex.html">uvw::mutex</a>, including all inherited members.</p>
|
||||||
|
<table class="directory">
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="structuvw_1_1uv__type.html#ae97ffacc0b381610d8d18a62a957a69c">init</a>()</td><td class="entry"><a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< uv_mutex_t ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1mutex.html#ac6b47d55690dc275cf39d1d839c5b685">lock</a>() noexcept</td><td class="entry"><a class="el" href="classuvw_1_1mutex.html">uvw::mutex</a></td><td class="entry"></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="structuvw_1_1uv__type.html#ae03b0ebbae151c6157c5ba6a24a39a7b">parent</a>() const noexcept</td><td class="entry"><a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< uv_mutex_t ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="structuvw_1_1uv__type.html#a06a6cb7ebde27aa348e340b76e49c6ae">raw</a>() const noexcept</td><td class="entry"><a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< uv_mutex_t ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="structuvw_1_1uv__type.html#af4b6f395815f2e99302b5f09be23767c">raw</a>() noexcept</td><td class="entry"><a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< uv_mutex_t ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1mutex.html#a90a3c79c32fb93d9ce14f0610659c06f">try_lock</a>() noexcept</td><td class="entry"><a class="el" href="classuvw_1_1mutex.html">uvw::mutex</a></td><td class="entry"></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1mutex.html#a8750d217fed59b9fa4fb0e6398374746">unlock</a>() noexcept</td><td class="entry"><a class="el" href="classuvw_1_1mutex.html">uvw::mutex</a></td><td class="entry"></td></tr>
|
||||||
|
</table></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.6
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
179
classuvw_1_1Mutex.html
Normal file
@ -0,0 +1,179 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.9.6"/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
|
<title>uvw: uvw::mutex Class Reference</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||||
|
<script type="text/javascript" src="search/search.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr id="projectrow">
|
||||||
|
<td id="projectalign">
|
||||||
|
<div id="projectname">uvw<span id="projectnumber"> 3.1.0</span>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.9.6 -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" src="menudata.js"></script>
|
||||||
|
<script type="text/javascript" src="menu.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
$(function() {
|
||||||
|
initMenu('',true,false,'search.php','Search');
|
||||||
|
$(document).ready(function() { init_search(); });
|
||||||
|
});
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<div id="main-nav"></div>
|
||||||
|
<!-- window showing the filter options -->
|
||||||
|
<div id="MSearchSelectWindow"
|
||||||
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||||
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||||
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- iframe showing the search results (closed by default) -->
|
||||||
|
<div id="MSearchResultsWindow">
|
||||||
|
<div id="MSearchResults">
|
||||||
|
<div class="SRPage">
|
||||||
|
<div id="SRIndex">
|
||||||
|
<div id="SRResults"></div>
|
||||||
|
<div class="SRStatus" id="Loading">Loading...</div>
|
||||||
|
<div class="SRStatus" id="Searching">Searching...</div>
|
||||||
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="namespaceuvw.html">uvw</a></li><li class="navelem"><a class="el" href="classuvw_1_1mutex.html">mutex</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="summary">
|
||||||
|
<a href="#pub-methods">Public Member Functions</a> |
|
||||||
|
<a href="classuvw_1_1mutex-members.html">List of all members</a> </div>
|
||||||
|
<div class="headertitle"><div class="title">uvw::mutex Class Reference<span class="mlabels"><span class="mlabel">final</span></span></div></div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p>The mutex wrapper.
|
||||||
|
<a href="classuvw_1_1mutex.html#details">More...</a></p>
|
||||||
|
|
||||||
|
<p><code>#include <<a class="el" href="thread_8h_source.html">thread.h</a>></code></p>
|
||||||
|
<div class="dynheader">
|
||||||
|
Inheritance diagram for uvw::mutex:</div>
|
||||||
|
<div class="dyncontent">
|
||||||
|
<div class="center"><img src="classuvw_1_1mutex__inherit__graph.png" border="0" usemap="#auvw_1_1mutex_inherit__map" alt="Inheritance graph"/></div>
|
||||||
|
<map name="auvw_1_1mutex_inherit__map" id="auvw_1_1mutex_inherit__map">
|
||||||
|
<area shape="rect" title="The mutex wrapper." alt="" coords="55,79,141,104"/>
|
||||||
|
<area shape="rect" href="structuvw_1_1uv__type.html" title=" " alt="" coords="5,5,191,31"/>
|
||||||
|
</map>
|
||||||
|
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
|
||||||
|
<div class="dynheader">
|
||||||
|
Collaboration diagram for uvw::mutex:</div>
|
||||||
|
<div class="dyncontent">
|
||||||
|
<div class="center"><img src="classuvw_1_1mutex__coll__graph.png" border="0" usemap="#auvw_1_1mutex_coll__map" alt="Collaboration graph"/></div>
|
||||||
|
<map name="auvw_1_1mutex_coll__map" id="auvw_1_1mutex_coll__map">
|
||||||
|
<area shape="rect" title="The mutex wrapper." alt="" coords="55,79,141,104"/>
|
||||||
|
<area shape="rect" href="structuvw_1_1uv__type.html" title=" " alt="" coords="5,5,191,31"/>
|
||||||
|
</map>
|
||||||
|
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
|
||||||
|
<table class="memberdecls">
|
||||||
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
|
||||||
|
Public Member Functions</h2></td></tr>
|
||||||
|
<tr class="memitem:ac6b47d55690dc275cf39d1d839c5b685"><td class="memItemLeft" align="right" valign="top"><a id="ac6b47d55690dc275cf39d1d839c5b685" name="ac6b47d55690dc275cf39d1d839c5b685"></a>
|
||||||
|
void </td><td class="memItemRight" valign="bottom"><b>lock</b> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:ac6b47d55690dc275cf39d1d839c5b685"><td class="mdescLeft"> </td><td class="mdescRight">Locks the mutex. <br /></td></tr>
|
||||||
|
<tr class="separator:ac6b47d55690dc275cf39d1d839c5b685"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a90a3c79c32fb93d9ce14f0610659c06f"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1mutex.html#a90a3c79c32fb93d9ce14f0610659c06f">try_lock</a> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a90a3c79c32fb93d9ce14f0610659c06f"><td class="mdescLeft"> </td><td class="mdescRight">Tries to lock the mutex. <br /></td></tr>
|
||||||
|
<tr class="separator:a90a3c79c32fb93d9ce14f0610659c06f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a8750d217fed59b9fa4fb0e6398374746"><td class="memItemLeft" align="right" valign="top"><a id="a8750d217fed59b9fa4fb0e6398374746" name="a8750d217fed59b9fa4fb0e6398374746"></a>
|
||||||
|
void </td><td class="memItemRight" valign="bottom"><b>unlock</b> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a8750d217fed59b9fa4fb0e6398374746"><td class="mdescLeft"> </td><td class="mdescRight">Unlocks the mutex. <br /></td></tr>
|
||||||
|
<tr class="separator:a8750d217fed59b9fa4fb0e6398374746"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="inherit_header pub_methods_structuvw_1_1uv__type"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_structuvw_1_1uv__type')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< uv_mutex_t ></a></td></tr>
|
||||||
|
<tr class="memitem:ae97ffacc0b381610d8d18a62a957a69c inherit pub_methods_structuvw_1_1uv__type"><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="structuvw_1_1uv__type.html#ae97ffacc0b381610d8d18a62a957a69c">init</a> ()</td></tr>
|
||||||
|
<tr class="memdesc:ae97ffacc0b381610d8d18a62a957a69c inherit pub_methods_structuvw_1_1uv__type"><td class="mdescLeft"> </td><td class="mdescRight">Initializes the handle. <br /></td></tr>
|
||||||
|
<tr class="separator:ae97ffacc0b381610d8d18a62a957a69c inherit pub_methods_structuvw_1_1uv__type"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ae03b0ebbae151c6157c5ba6a24a39a7b inherit pub_methods_structuvw_1_1uv__type"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classuvw_1_1loop.html">loop</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="structuvw_1_1uv__type.html#ae03b0ebbae151c6157c5ba6a24a39a7b">parent</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:ae03b0ebbae151c6157c5ba6a24a39a7b inherit pub_methods_structuvw_1_1uv__type"><td class="mdescLeft"> </td><td class="mdescRight">Gets the loop from which the resource was originated. <br /></td></tr>
|
||||||
|
<tr class="separator:ae03b0ebbae151c6157c5ba6a24a39a7b inherit pub_methods_structuvw_1_1uv__type"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a06a6cb7ebde27aa348e340b76e49c6ae inherit pub_methods_structuvw_1_1uv__type"><td class="memItemLeft" align="right" valign="top">const uv_mutex_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="structuvw_1_1uv__type.html#a06a6cb7ebde27aa348e340b76e49c6ae">raw</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a06a6cb7ebde27aa348e340b76e49c6ae inherit pub_methods_structuvw_1_1uv__type"><td class="mdescLeft"> </td><td class="mdescRight">Gets the underlying raw data structure. <br /></td></tr>
|
||||||
|
<tr class="separator:a06a6cb7ebde27aa348e340b76e49c6ae inherit pub_methods_structuvw_1_1uv__type"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:af4b6f395815f2e99302b5f09be23767c inherit pub_methods_structuvw_1_1uv__type"><td class="memItemLeft" align="right" valign="top">uv_mutex_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="structuvw_1_1uv__type.html#af4b6f395815f2e99302b5f09be23767c">raw</a> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:af4b6f395815f2e99302b5f09be23767c inherit pub_methods_structuvw_1_1uv__type"><td class="mdescLeft"> </td><td class="mdescRight">Gets the underlying raw data structure. <br /></td></tr>
|
||||||
|
<tr class="separator:af4b6f395815f2e99302b5f09be23767c inherit pub_methods_structuvw_1_1uv__type"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
</table>
|
||||||
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||||
|
<div class="textblock"><p>The mutex wrapper. </p>
|
||||||
|
<p>To create a <code>mutex</code> through a <code>loop</code>, arguments follow:</p>
|
||||||
|
<ul>
|
||||||
|
<li>An option boolean that specifies if the mutex is a recursive one. The default value is false, the mutex isn't recursive. </li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="thread_8h_source.html#l00183">183</a> of file <a class="el" href="thread_8h_source.html">thread.h</a>.</p>
|
||||||
|
</div><h2 class="groupheader">Member Function Documentation</h2>
|
||||||
|
<a id="a90a3c79c32fb93d9ce14f0610659c06f" name="a90a3c79c32fb93d9ce14f0610659c06f"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#a90a3c79c32fb93d9ce14f0610659c06f">◆ </a></span>try_lock()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">bool uvw::mutex::try_lock </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Tries to lock the mutex. </p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>True in case of success, false otherwise. </dd></dl>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr/>The documentation for this class was generated from the following file:<ul>
|
||||||
|
<li>src/uvw/<a class="el" href="thread_8h_source.html">thread.h</a></li>
|
||||||
|
</ul>
|
||||||
|
</div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.6
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
4
classuvw_1_1Mutex__coll__graph.map
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<map id="uvw::mutex" name="uvw::mutex">
|
||||||
|
<area shape="rect" id="node1" title="The mutex wrapper." alt="" coords="55,79,141,104"/>
|
||||||
|
<area shape="rect" id="node2" href="$structuvw_1_1uv__type.html" title=" " alt="" coords="5,5,191,31"/>
|
||||||
|
</map>
|
||||||
1
classuvw_1_1Mutex__coll__graph.md5
Normal file
@ -0,0 +1 @@
|
|||||||
|
e63765699031c3133640b822cc52c84f
|
||||||
BIN
classuvw_1_1Mutex__coll__graph.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
4
classuvw_1_1Mutex__inherit__graph.map
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<map id="uvw::mutex" name="uvw::mutex">
|
||||||
|
<area shape="rect" id="node1" title="The mutex wrapper." alt="" coords="55,79,141,104"/>
|
||||||
|
<area shape="rect" id="node2" href="$structuvw_1_1uv__type.html" title=" " alt="" coords="5,5,191,31"/>
|
||||||
|
</map>
|
||||||
1
classuvw_1_1Mutex__inherit__graph.md5
Normal file
@ -0,0 +1 @@
|
|||||||
|
e63765699031c3133640b822cc52c84f
|
||||||
BIN
classuvw_1_1Mutex__inherit__graph.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
93
classuvw_1_1Once-members.html
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.9.6"/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
|
<title>uvw: Member List</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||||
|
<script type="text/javascript" src="search/search.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr id="projectrow">
|
||||||
|
<td id="projectalign">
|
||||||
|
<div id="projectname">uvw<span id="projectnumber"> 3.1.0</span>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.9.6 -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" src="menudata.js"></script>
|
||||||
|
<script type="text/javascript" src="menu.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
$(function() {
|
||||||
|
initMenu('',true,false,'search.php','Search');
|
||||||
|
$(document).ready(function() { init_search(); });
|
||||||
|
});
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<div id="main-nav"></div>
|
||||||
|
<!-- window showing the filter options -->
|
||||||
|
<div id="MSearchSelectWindow"
|
||||||
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||||
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||||
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- iframe showing the search results (closed by default) -->
|
||||||
|
<div id="MSearchResultsWindow">
|
||||||
|
<div id="MSearchResults">
|
||||||
|
<div class="SRPage">
|
||||||
|
<div id="SRIndex">
|
||||||
|
<div id="SRResults"></div>
|
||||||
|
<div class="SRStatus" id="Loading">Loading...</div>
|
||||||
|
<div class="SRStatus" id="Searching">Searching...</div>
|
||||||
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="namespaceuvw.html">uvw</a></li><li class="navelem"><a class="el" href="classuvw_1_1once.html">once</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle"><div class="title">uvw::once Member List</div></div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p>This is the complete list of members for <a class="el" href="classuvw_1_1once.html">uvw::once</a>, including all inherited members.</p>
|
||||||
|
<table class="directory">
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="structuvw_1_1uv__type.html#ae97ffacc0b381610d8d18a62a957a69c">init</a>()</td><td class="entry"><a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< uv_once_t ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="structuvw_1_1uv__type.html#ae03b0ebbae151c6157c5ba6a24a39a7b">parent</a>() const noexcept</td><td class="entry"><a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< uv_once_t ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="structuvw_1_1uv__type.html#a06a6cb7ebde27aa348e340b76e49c6ae">raw</a>() const noexcept</td><td class="entry"><a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< uv_once_t ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="structuvw_1_1uv__type.html#af4b6f395815f2e99302b5f09be23767c">raw</a>() noexcept</td><td class="entry"><a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< uv_once_t ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1once.html#a595b340d3b28f490d5e5cf8558ff8b09">run</a>(F &&f) noexcept</td><td class="entry"><a class="el" href="classuvw_1_1once.html">uvw::once</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
|
||||||
|
</table></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.6
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
189
classuvw_1_1Once.html
Normal file
@ -0,0 +1,189 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.9.6"/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
|
<title>uvw: uvw::once Class Reference</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||||
|
<script type="text/javascript" src="search/search.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr id="projectrow">
|
||||||
|
<td id="projectalign">
|
||||||
|
<div id="projectname">uvw<span id="projectnumber"> 3.1.0</span>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.9.6 -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" src="menudata.js"></script>
|
||||||
|
<script type="text/javascript" src="menu.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
$(function() {
|
||||||
|
initMenu('',true,false,'search.php','Search');
|
||||||
|
$(document).ready(function() { init_search(); });
|
||||||
|
});
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<div id="main-nav"></div>
|
||||||
|
<!-- window showing the filter options -->
|
||||||
|
<div id="MSearchSelectWindow"
|
||||||
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||||
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||||
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- iframe showing the search results (closed by default) -->
|
||||||
|
<div id="MSearchResultsWindow">
|
||||||
|
<div id="MSearchResults">
|
||||||
|
<div class="SRPage">
|
||||||
|
<div id="SRIndex">
|
||||||
|
<div id="SRResults"></div>
|
||||||
|
<div class="SRStatus" id="Loading">Loading...</div>
|
||||||
|
<div class="SRStatus" id="Searching">Searching...</div>
|
||||||
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="namespaceuvw.html">uvw</a></li><li class="navelem"><a class="el" href="classuvw_1_1once.html">once</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="summary">
|
||||||
|
<a href="#pub-static-methods">Static Public Member Functions</a> |
|
||||||
|
<a href="classuvw_1_1once-members.html">List of all members</a> </div>
|
||||||
|
<div class="headertitle"><div class="title">uvw::once Class Reference<span class="mlabels"><span class="mlabel">final</span></span></div></div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p>The once wrapper.
|
||||||
|
<a href="classuvw_1_1once.html#details">More...</a></p>
|
||||||
|
|
||||||
|
<p><code>#include <<a class="el" href="thread_8h_source.html">thread.h</a>></code></p>
|
||||||
|
<div class="dynheader">
|
||||||
|
Inheritance diagram for uvw::once:</div>
|
||||||
|
<div class="dyncontent">
|
||||||
|
<div class="center"><img src="classuvw_1_1once__inherit__graph.png" border="0" usemap="#auvw_1_1once_inherit__map" alt="Inheritance graph"/></div>
|
||||||
|
<map name="auvw_1_1once_inherit__map" id="auvw_1_1once_inherit__map">
|
||||||
|
<area shape="rect" title="The once wrapper." alt="" coords="55,79,133,104"/>
|
||||||
|
<area shape="rect" href="structuvw_1_1uv__type.html" title=" " alt="" coords="5,5,183,31"/>
|
||||||
|
</map>
|
||||||
|
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
|
||||||
|
<div class="dynheader">
|
||||||
|
Collaboration diagram for uvw::once:</div>
|
||||||
|
<div class="dyncontent">
|
||||||
|
<div class="center"><img src="classuvw_1_1once__coll__graph.png" border="0" usemap="#auvw_1_1once_coll__map" alt="Collaboration graph"/></div>
|
||||||
|
<map name="auvw_1_1once_coll__map" id="auvw_1_1once_coll__map">
|
||||||
|
<area shape="rect" title="The once wrapper." alt="" coords="55,79,133,104"/>
|
||||||
|
<area shape="rect" href="structuvw_1_1uv__type.html" title=" " alt="" coords="5,5,183,31"/>
|
||||||
|
</map>
|
||||||
|
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
|
||||||
|
<table class="memberdecls">
|
||||||
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
|
||||||
|
Static Public Member Functions</h2></td></tr>
|
||||||
|
<tr class="memitem:a595b340d3b28f490d5e5cf8558ff8b09"><td class="memTemplParams" colspan="2">template<typename F > </td></tr>
|
||||||
|
<tr class="memitem:a595b340d3b28f490d5e5cf8558ff8b09"><td class="memTemplItemLeft" align="right" valign="top">static void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classuvw_1_1once.html#a595b340d3b28f490d5e5cf8558ff8b09">run</a> (F &&f) noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a595b340d3b28f490d5e5cf8558ff8b09"><td class="mdescLeft"> </td><td class="mdescRight">Runs a function once and only once. <br /></td></tr>
|
||||||
|
<tr class="separator:a595b340d3b28f490d5e5cf8558ff8b09"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
</table><table class="memberdecls">
|
||||||
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
|
||||||
|
Additional Inherited Members</h2></td></tr>
|
||||||
|
<tr class="inherit_header pub_methods_structuvw_1_1uv__type"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_structuvw_1_1uv__type')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< uv_once_t ></a></td></tr>
|
||||||
|
<tr class="memitem:ae97ffacc0b381610d8d18a62a957a69c inherit pub_methods_structuvw_1_1uv__type"><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="structuvw_1_1uv__type.html#ae97ffacc0b381610d8d18a62a957a69c">init</a> ()</td></tr>
|
||||||
|
<tr class="memdesc:ae97ffacc0b381610d8d18a62a957a69c inherit pub_methods_structuvw_1_1uv__type"><td class="mdescLeft"> </td><td class="mdescRight">Initializes the handle. <br /></td></tr>
|
||||||
|
<tr class="separator:ae97ffacc0b381610d8d18a62a957a69c inherit pub_methods_structuvw_1_1uv__type"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ae03b0ebbae151c6157c5ba6a24a39a7b inherit pub_methods_structuvw_1_1uv__type"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classuvw_1_1loop.html">loop</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="structuvw_1_1uv__type.html#ae03b0ebbae151c6157c5ba6a24a39a7b">parent</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:ae03b0ebbae151c6157c5ba6a24a39a7b inherit pub_methods_structuvw_1_1uv__type"><td class="mdescLeft"> </td><td class="mdescRight">Gets the loop from which the resource was originated. <br /></td></tr>
|
||||||
|
<tr class="separator:ae03b0ebbae151c6157c5ba6a24a39a7b inherit pub_methods_structuvw_1_1uv__type"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a06a6cb7ebde27aa348e340b76e49c6ae inherit pub_methods_structuvw_1_1uv__type"><td class="memItemLeft" align="right" valign="top">const uv_once_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="structuvw_1_1uv__type.html#a06a6cb7ebde27aa348e340b76e49c6ae">raw</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a06a6cb7ebde27aa348e340b76e49c6ae inherit pub_methods_structuvw_1_1uv__type"><td class="mdescLeft"> </td><td class="mdescRight">Gets the underlying raw data structure. <br /></td></tr>
|
||||||
|
<tr class="separator:a06a6cb7ebde27aa348e340b76e49c6ae inherit pub_methods_structuvw_1_1uv__type"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:af4b6f395815f2e99302b5f09be23767c inherit pub_methods_structuvw_1_1uv__type"><td class="memItemLeft" align="right" valign="top">uv_once_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="structuvw_1_1uv__type.html#af4b6f395815f2e99302b5f09be23767c">raw</a> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:af4b6f395815f2e99302b5f09be23767c inherit pub_methods_structuvw_1_1uv__type"><td class="mdescLeft"> </td><td class="mdescRight">Gets the underlying raw data structure. <br /></td></tr>
|
||||||
|
<tr class="separator:af4b6f395815f2e99302b5f09be23767c inherit pub_methods_structuvw_1_1uv__type"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
</table>
|
||||||
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||||
|
<div class="textblock"><p>The once wrapper. </p>
|
||||||
|
<p>Runs a function once and only once. Concurrent calls to <code>once</code> will block all callers except one (it’s unspecified which one). </p>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="thread_8h_source.html#l00151">151</a> of file <a class="el" href="thread_8h_source.html">thread.h</a>.</p>
|
||||||
|
</div><h2 class="groupheader">Member Function Documentation</h2>
|
||||||
|
<a id="a595b340d3b28f490d5e5cf8558ff8b09" name="a595b340d3b28f490d5e5cf8558ff8b09"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#a595b340d3b28f490d5e5cf8558ff8b09">◆ </a></span>run()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<div class="memtemplate">
|
||||||
|
template<typename F > </div>
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">static void uvw::once::run </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramtype">F && </td>
|
||||||
|
<td class="paramname"><em>f</em></td><td>)</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">noexcept</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Runs a function once and only once. </p>
|
||||||
|
<p>The callback must be such that it's convertible to <code>void(*)(void)</code>. Free functions and non-capturing lambdas are both viable solutions.</p>
|
||||||
|
<dl class="tparams"><dt>Template Parameters</dt><dd>
|
||||||
|
<table class="tparams">
|
||||||
|
<tr><td class="paramname">F</td><td>Type of the callback. </td></tr>
|
||||||
|
</table>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<dl class="params"><dt>Parameters</dt><dd>
|
||||||
|
<table class="params">
|
||||||
|
<tr><td class="paramname">f</td><td>A valid callback function. </td></tr>
|
||||||
|
</table>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="thread_8h_source.html#l00167">167</a> of file <a class="el" href="thread_8h_source.html">thread.h</a>.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr/>The documentation for this class was generated from the following file:<ul>
|
||||||
|
<li>src/uvw/<a class="el" href="thread_8h_source.html">thread.h</a></li>
|
||||||
|
</ul>
|
||||||
|
</div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.6
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
4
classuvw_1_1Once__coll__graph.map
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<map id="uvw::once" name="uvw::once">
|
||||||
|
<area shape="rect" id="node1" title="The once wrapper." alt="" coords="55,79,133,104"/>
|
||||||
|
<area shape="rect" id="node2" href="$structuvw_1_1uv__type.html" title=" " alt="" coords="5,5,183,31"/>
|
||||||
|
</map>
|
||||||
1
classuvw_1_1Once__coll__graph.md5
Normal file
@ -0,0 +1 @@
|
|||||||
|
c8e8ff305bedef5ec87c82fc9ce97747
|
||||||
BIN
classuvw_1_1Once__coll__graph.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
4
classuvw_1_1Once__inherit__graph.map
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<map id="uvw::once" name="uvw::once">
|
||||||
|
<area shape="rect" id="node1" title="The once wrapper." alt="" coords="55,79,133,104"/>
|
||||||
|
<area shape="rect" id="node2" href="$structuvw_1_1uv__type.html" title=" " alt="" coords="5,5,183,31"/>
|
||||||
|
</map>
|
||||||
1
classuvw_1_1Once__inherit__graph.md5
Normal file
@ -0,0 +1 @@
|
|||||||
|
c8e8ff305bedef5ec87c82fc9ce97747
|
||||||
BIN
classuvw_1_1Once__inherit__graph.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
98
classuvw_1_1RWLock-members.html
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.9.6"/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
|
<title>uvw: Member List</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||||
|
<script type="text/javascript" src="search/search.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr id="projectrow">
|
||||||
|
<td id="projectalign">
|
||||||
|
<div id="projectname">uvw<span id="projectnumber"> 3.1.0</span>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.9.6 -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" src="menudata.js"></script>
|
||||||
|
<script type="text/javascript" src="menu.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
$(function() {
|
||||||
|
initMenu('',true,false,'search.php','Search');
|
||||||
|
$(document).ready(function() { init_search(); });
|
||||||
|
});
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<div id="main-nav"></div>
|
||||||
|
<!-- window showing the filter options -->
|
||||||
|
<div id="MSearchSelectWindow"
|
||||||
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||||
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||||
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- iframe showing the search results (closed by default) -->
|
||||||
|
<div id="MSearchResultsWindow">
|
||||||
|
<div id="MSearchResults">
|
||||||
|
<div class="SRPage">
|
||||||
|
<div id="SRIndex">
|
||||||
|
<div id="SRResults"></div>
|
||||||
|
<div class="SRStatus" id="Loading">Loading...</div>
|
||||||
|
<div class="SRStatus" id="Searching">Searching...</div>
|
||||||
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="namespaceuvw.html">uvw</a></li><li class="navelem"><a class="el" href="classuvw_1_1rwlock.html">rwlock</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle"><div class="title">uvw::rwlock Member List</div></div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p>This is the complete list of members for <a class="el" href="classuvw_1_1rwlock.html">uvw::rwlock</a>, including all inherited members.</p>
|
||||||
|
<table class="directory">
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="structuvw_1_1uv__type.html#ae97ffacc0b381610d8d18a62a957a69c">init</a>()</td><td class="entry"><a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< uv_rwlock_t ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="structuvw_1_1uv__type.html#ae03b0ebbae151c6157c5ba6a24a39a7b">parent</a>() const noexcept</td><td class="entry"><a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< uv_rwlock_t ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="structuvw_1_1uv__type.html#a06a6cb7ebde27aa348e340b76e49c6ae">raw</a>() const noexcept</td><td class="entry"><a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< uv_rwlock_t ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="structuvw_1_1uv__type.html#af4b6f395815f2e99302b5f09be23767c">raw</a>() noexcept</td><td class="entry"><a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< uv_rwlock_t ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1rwlock.html#a48a2f73a53caecad83f82544bce5e754">rdlock</a>() noexcept</td><td class="entry"><a class="el" href="classuvw_1_1rwlock.html">uvw::rwlock</a></td><td class="entry"></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1rwlock.html#ab5fb7747eddb48d8ff88d0ab266d9ef1">rdunlock</a>() noexcept</td><td class="entry"><a class="el" href="classuvw_1_1rwlock.html">uvw::rwlock</a></td><td class="entry"></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1rwlock.html#a51e06cdde0ef98fcfd43d81db1cadf23">try_rdlock</a>() noexcept</td><td class="entry"><a class="el" href="classuvw_1_1rwlock.html">uvw::rwlock</a></td><td class="entry"></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1rwlock.html#a6692bdc0b55fe3416364ade16f53eff1">try_wrlock</a>() noexcept</td><td class="entry"><a class="el" href="classuvw_1_1rwlock.html">uvw::rwlock</a></td><td class="entry"></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1rwlock.html#aacd6baeb68d2178665ce5bf331a4fd0a">wrlock</a>() noexcept</td><td class="entry"><a class="el" href="classuvw_1_1rwlock.html">uvw::rwlock</a></td><td class="entry"></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1rwlock.html#a24419f230f193655cda30eafaf0f3070">wrunlock</a>() noexcept</td><td class="entry"><a class="el" href="classuvw_1_1rwlock.html">uvw::rwlock</a></td><td class="entry"></td></tr>
|
||||||
|
</table></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.6
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
214
classuvw_1_1RWLock.html
Normal file
@ -0,0 +1,214 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.9.6"/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
|
<title>uvw: uvw::rwlock Class Reference</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||||
|
<script type="text/javascript" src="search/search.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr id="projectrow">
|
||||||
|
<td id="projectalign">
|
||||||
|
<div id="projectname">uvw<span id="projectnumber"> 3.1.0</span>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.9.6 -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" src="menudata.js"></script>
|
||||||
|
<script type="text/javascript" src="menu.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
$(function() {
|
||||||
|
initMenu('',true,false,'search.php','Search');
|
||||||
|
$(document).ready(function() { init_search(); });
|
||||||
|
});
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<div id="main-nav"></div>
|
||||||
|
<!-- window showing the filter options -->
|
||||||
|
<div id="MSearchSelectWindow"
|
||||||
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||||
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||||
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- iframe showing the search results (closed by default) -->
|
||||||
|
<div id="MSearchResultsWindow">
|
||||||
|
<div id="MSearchResults">
|
||||||
|
<div class="SRPage">
|
||||||
|
<div id="SRIndex">
|
||||||
|
<div id="SRResults"></div>
|
||||||
|
<div class="SRStatus" id="Loading">Loading...</div>
|
||||||
|
<div class="SRStatus" id="Searching">Searching...</div>
|
||||||
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="namespaceuvw.html">uvw</a></li><li class="navelem"><a class="el" href="classuvw_1_1rwlock.html">rwlock</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="summary">
|
||||||
|
<a href="#pub-methods">Public Member Functions</a> |
|
||||||
|
<a href="classuvw_1_1rwlock-members.html">List of all members</a> </div>
|
||||||
|
<div class="headertitle"><div class="title">uvw::rwlock Class Reference<span class="mlabels"><span class="mlabel">final</span></span></div></div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p>The rwlock wrapper.
|
||||||
|
<a href="classuvw_1_1rwlock.html#details">More...</a></p>
|
||||||
|
|
||||||
|
<p><code>#include <<a class="el" href="thread_8h_source.html">thread.h</a>></code></p>
|
||||||
|
<div class="dynheader">
|
||||||
|
Inheritance diagram for uvw::rwlock:</div>
|
||||||
|
<div class="dyncontent">
|
||||||
|
<div class="center"><img src="classuvw_1_1rwlock__inherit__graph.png" border="0" usemap="#auvw_1_1rwlock_inherit__map" alt="Inheritance graph"/></div>
|
||||||
|
<map name="auvw_1_1rwlock_inherit__map" id="auvw_1_1rwlock_inherit__map">
|
||||||
|
<area shape="rect" title="The rwlock wrapper." alt="" coords="55,79,143,104"/>
|
||||||
|
<area shape="rect" href="structuvw_1_1uv__type.html" title=" " alt="" coords="5,5,192,31"/>
|
||||||
|
</map>
|
||||||
|
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
|
||||||
|
<div class="dynheader">
|
||||||
|
Collaboration diagram for uvw::rwlock:</div>
|
||||||
|
<div class="dyncontent">
|
||||||
|
<div class="center"><img src="classuvw_1_1rwlock__coll__graph.png" border="0" usemap="#auvw_1_1rwlock_coll__map" alt="Collaboration graph"/></div>
|
||||||
|
<map name="auvw_1_1rwlock_coll__map" id="auvw_1_1rwlock_coll__map">
|
||||||
|
<area shape="rect" title="The rwlock wrapper." alt="" coords="55,79,143,104"/>
|
||||||
|
<area shape="rect" href="structuvw_1_1uv__type.html" title=" " alt="" coords="5,5,192,31"/>
|
||||||
|
</map>
|
||||||
|
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
|
||||||
|
<table class="memberdecls">
|
||||||
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
|
||||||
|
Public Member Functions</h2></td></tr>
|
||||||
|
<tr class="memitem:a48a2f73a53caecad83f82544bce5e754"><td class="memItemLeft" align="right" valign="top"><a id="a48a2f73a53caecad83f82544bce5e754" name="a48a2f73a53caecad83f82544bce5e754"></a>
|
||||||
|
void </td><td class="memItemRight" valign="bottom"><b>rdlock</b> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a48a2f73a53caecad83f82544bce5e754"><td class="mdescLeft"> </td><td class="mdescRight">Locks a read-write lock object for reading. <br /></td></tr>
|
||||||
|
<tr class="separator:a48a2f73a53caecad83f82544bce5e754"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a51e06cdde0ef98fcfd43d81db1cadf23"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1rwlock.html#a51e06cdde0ef98fcfd43d81db1cadf23">try_rdlock</a> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a51e06cdde0ef98fcfd43d81db1cadf23"><td class="mdescLeft"> </td><td class="mdescRight">Tries to lock a read-write lock object for reading. <br /></td></tr>
|
||||||
|
<tr class="separator:a51e06cdde0ef98fcfd43d81db1cadf23"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ab5fb7747eddb48d8ff88d0ab266d9ef1"><td class="memItemLeft" align="right" valign="top"><a id="ab5fb7747eddb48d8ff88d0ab266d9ef1" name="ab5fb7747eddb48d8ff88d0ab266d9ef1"></a>
|
||||||
|
void </td><td class="memItemRight" valign="bottom"><b>rdunlock</b> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:ab5fb7747eddb48d8ff88d0ab266d9ef1"><td class="mdescLeft"> </td><td class="mdescRight">Unlocks a read-write lock object previously locked for reading. <br /></td></tr>
|
||||||
|
<tr class="separator:ab5fb7747eddb48d8ff88d0ab266d9ef1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:aacd6baeb68d2178665ce5bf331a4fd0a"><td class="memItemLeft" align="right" valign="top"><a id="aacd6baeb68d2178665ce5bf331a4fd0a" name="aacd6baeb68d2178665ce5bf331a4fd0a"></a>
|
||||||
|
void </td><td class="memItemRight" valign="bottom"><b>wrlock</b> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:aacd6baeb68d2178665ce5bf331a4fd0a"><td class="mdescLeft"> </td><td class="mdescRight">Locks a read-write lock object for writing. <br /></td></tr>
|
||||||
|
<tr class="separator:aacd6baeb68d2178665ce5bf331a4fd0a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a6692bdc0b55fe3416364ade16f53eff1"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1rwlock.html#a6692bdc0b55fe3416364ade16f53eff1">try_wrlock</a> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a6692bdc0b55fe3416364ade16f53eff1"><td class="mdescLeft"> </td><td class="mdescRight">Tries to lock a read-write lock object for writing. <br /></td></tr>
|
||||||
|
<tr class="separator:a6692bdc0b55fe3416364ade16f53eff1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a24419f230f193655cda30eafaf0f3070"><td class="memItemLeft" align="right" valign="top"><a id="a24419f230f193655cda30eafaf0f3070" name="a24419f230f193655cda30eafaf0f3070"></a>
|
||||||
|
void </td><td class="memItemRight" valign="bottom"><b>wrunlock</b> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a24419f230f193655cda30eafaf0f3070"><td class="mdescLeft"> </td><td class="mdescRight">Unlocks a read-write lock object previously locked for writing. <br /></td></tr>
|
||||||
|
<tr class="separator:a24419f230f193655cda30eafaf0f3070"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="inherit_header pub_methods_structuvw_1_1uv__type"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_structuvw_1_1uv__type')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< uv_rwlock_t ></a></td></tr>
|
||||||
|
<tr class="memitem:ae97ffacc0b381610d8d18a62a957a69c inherit pub_methods_structuvw_1_1uv__type"><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="structuvw_1_1uv__type.html#ae97ffacc0b381610d8d18a62a957a69c">init</a> ()</td></tr>
|
||||||
|
<tr class="memdesc:ae97ffacc0b381610d8d18a62a957a69c inherit pub_methods_structuvw_1_1uv__type"><td class="mdescLeft"> </td><td class="mdescRight">Initializes the handle. <br /></td></tr>
|
||||||
|
<tr class="separator:ae97ffacc0b381610d8d18a62a957a69c inherit pub_methods_structuvw_1_1uv__type"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ae03b0ebbae151c6157c5ba6a24a39a7b inherit pub_methods_structuvw_1_1uv__type"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classuvw_1_1loop.html">loop</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="structuvw_1_1uv__type.html#ae03b0ebbae151c6157c5ba6a24a39a7b">parent</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:ae03b0ebbae151c6157c5ba6a24a39a7b inherit pub_methods_structuvw_1_1uv__type"><td class="mdescLeft"> </td><td class="mdescRight">Gets the loop from which the resource was originated. <br /></td></tr>
|
||||||
|
<tr class="separator:ae03b0ebbae151c6157c5ba6a24a39a7b inherit pub_methods_structuvw_1_1uv__type"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a06a6cb7ebde27aa348e340b76e49c6ae inherit pub_methods_structuvw_1_1uv__type"><td class="memItemLeft" align="right" valign="top">const uv_rwlock_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="structuvw_1_1uv__type.html#a06a6cb7ebde27aa348e340b76e49c6ae">raw</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a06a6cb7ebde27aa348e340b76e49c6ae inherit pub_methods_structuvw_1_1uv__type"><td class="mdescLeft"> </td><td class="mdescRight">Gets the underlying raw data structure. <br /></td></tr>
|
||||||
|
<tr class="separator:a06a6cb7ebde27aa348e340b76e49c6ae inherit pub_methods_structuvw_1_1uv__type"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:af4b6f395815f2e99302b5f09be23767c inherit pub_methods_structuvw_1_1uv__type"><td class="memItemLeft" align="right" valign="top">uv_rwlock_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="structuvw_1_1uv__type.html#af4b6f395815f2e99302b5f09be23767c">raw</a> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:af4b6f395815f2e99302b5f09be23767c inherit pub_methods_structuvw_1_1uv__type"><td class="mdescLeft"> </td><td class="mdescRight">Gets the underlying raw data structure. <br /></td></tr>
|
||||||
|
<tr class="separator:af4b6f395815f2e99302b5f09be23767c inherit pub_methods_structuvw_1_1uv__type"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
</table>
|
||||||
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||||
|
<div class="textblock"><p>The rwlock wrapper. </p>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="thread_8h_source.html#l00211">211</a> of file <a class="el" href="thread_8h_source.html">thread.h</a>.</p>
|
||||||
|
</div><h2 class="groupheader">Member Function Documentation</h2>
|
||||||
|
<a id="a51e06cdde0ef98fcfd43d81db1cadf23" name="a51e06cdde0ef98fcfd43d81db1cadf23"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#a51e06cdde0ef98fcfd43d81db1cadf23">◆ </a></span>try_rdlock()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">bool uvw::rwlock::try_rdlock </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Tries to lock a read-write lock object for reading. </p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>True in case of success, false otherwise. </dd></dl>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="a6692bdc0b55fe3416364ade16f53eff1" name="a6692bdc0b55fe3416364ade16f53eff1"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#a6692bdc0b55fe3416364ade16f53eff1">◆ </a></span>try_wrlock()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">bool uvw::rwlock::try_wrlock </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Tries to lock a read-write lock object for writing. </p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>True in case of success, false otherwise. </dd></dl>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr/>The documentation for this class was generated from the following file:<ul>
|
||||||
|
<li>src/uvw/<a class="el" href="thread_8h_source.html">thread.h</a></li>
|
||||||
|
</ul>
|
||||||
|
</div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.6
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
4
classuvw_1_1RWLock__coll__graph.map
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<map id="uvw::rwlock" name="uvw::rwlock">
|
||||||
|
<area shape="rect" id="node1" title="The rwlock wrapper." alt="" coords="55,79,143,104"/>
|
||||||
|
<area shape="rect" id="node2" href="$structuvw_1_1uv__type.html" title=" " alt="" coords="5,5,192,31"/>
|
||||||
|
</map>
|
||||||
1
classuvw_1_1RWLock__coll__graph.md5
Normal file
@ -0,0 +1 @@
|
|||||||
|
0ecd85b55fa7fe3016f6183328a99522
|
||||||
BIN
classuvw_1_1RWLock__coll__graph.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
4
classuvw_1_1RWLock__inherit__graph.map
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<map id="uvw::rwlock" name="uvw::rwlock">
|
||||||
|
<area shape="rect" id="node1" title="The rwlock wrapper." alt="" coords="55,79,143,104"/>
|
||||||
|
<area shape="rect" id="node2" href="$structuvw_1_1uv__type.html" title=" " alt="" coords="5,5,192,31"/>
|
||||||
|
</map>
|
||||||
1
classuvw_1_1RWLock__inherit__graph.md5
Normal file
@ -0,0 +1 @@
|
|||||||
|
0ecd85b55fa7fe3016f6183328a99522
|
||||||
BIN
classuvw_1_1RWLock__inherit__graph.png
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
100
classuvw_1_1Request-members.html
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.9.6"/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
|
<title>uvw: Member List</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||||
|
<script type="text/javascript" src="search/search.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr id="projectrow">
|
||||||
|
<td id="projectalign">
|
||||||
|
<div id="projectname">uvw<span id="projectnumber"> 3.1.0</span>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.9.6 -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" src="menudata.js"></script>
|
||||||
|
<script type="text/javascript" src="menu.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
$(function() {
|
||||||
|
initMenu('',true,false,'search.php','Search');
|
||||||
|
$(document).ready(function() { init_search(); });
|
||||||
|
});
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<div id="main-nav"></div>
|
||||||
|
<!-- window showing the filter options -->
|
||||||
|
<div id="MSearchSelectWindow"
|
||||||
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||||
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||||
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- iframe showing the search results (closed by default) -->
|
||||||
|
<div id="MSearchResultsWindow">
|
||||||
|
<div id="MSearchResults">
|
||||||
|
<div class="SRPage">
|
||||||
|
<div id="SRIndex">
|
||||||
|
<div id="SRResults"></div>
|
||||||
|
<div class="SRStatus" id="Loading">Loading...</div>
|
||||||
|
<div class="SRStatus" id="Searching">Searching...</div>
|
||||||
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="namespaceuvw.html">uvw</a></li><li class="navelem"><a class="el" href="classuvw_1_1request.html">request</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="headertitle"><div class="title">uvw::request< T, U, E > Member List</div></div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p>This is the complete list of members for <a class="el" href="classuvw_1_1request.html">uvw::request< T, U, E ></a>, including all inherited members.</p>
|
||||||
|
<table class="directory">
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1request.html#a797d174e440e302a5727161d76b8618d">cancel</a>()</td><td class="entry"><a class="el" href="classuvw_1_1request.html">uvw::request< T, U, E ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1resource.html#a7c05e988ebaa14d1dbbc781951dc3a88">data</a>() const</td><td class="entry"><a class="el" href="classuvw_1_1resource.html">uvw::resource< T, U, E... ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1resource.html#a759079eb405e5d2fda795d199d8efa80">data</a>(std::shared_ptr< void > udata)</td><td class="entry"><a class="el" href="classuvw_1_1resource.html">uvw::resource< T, U, E... ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1emitter.html#ac02a29fe156faba7571b50450fc4f780">has</a>() const noexcept</td><td class="entry"><a class="el" href="classuvw_1_1emitter.html">uvw::emitter< T, E... ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="structuvw_1_1uv__type.html#ae97ffacc0b381610d8d18a62a957a69c">init</a>()</td><td class="entry"><a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< U ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1emitter.html#ab913fa1c005a33c73b2eb2b0d1051b1f">on</a>(listener_t< U > f)</td><td class="entry"><a class="el" href="classuvw_1_1emitter.html">uvw::emitter< T, E... ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="structuvw_1_1uv__type.html#ae03b0ebbae151c6157c5ba6a24a39a7b">parent</a>() const noexcept</td><td class="entry"><a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< U ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="structuvw_1_1uv__type.html#a06a6cb7ebde27aa348e340b76e49c6ae">raw</a>() const noexcept</td><td class="entry"><a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< U ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="structuvw_1_1uv__type.html#af4b6f395815f2e99302b5f09be23767c">raw</a>() noexcept</td><td class="entry"><a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< U ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1emitter.html#accff5c096692f5eebbe941189644e69d">reset</a>() noexcept</td><td class="entry"><a class="el" href="classuvw_1_1emitter.html">uvw::emitter< T, E... ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="even"><td class="entry"><a class="el" href="classuvw_1_1emitter.html#aa71435e74e775cfa7012fe2e52ca5193">reset</a>() noexcept</td><td class="entry"><a class="el" href="classuvw_1_1emitter.html">uvw::emitter< T, E... ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
<tr class="odd"><td class="entry"><a class="el" href="classuvw_1_1request.html#a88400234f18c2f0b285695eab8e55d6c">size</a>() const noexcept</td><td class="entry"><a class="el" href="classuvw_1_1request.html">uvw::request< T, U, E ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||||
|
</table></div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.6
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
240
classuvw_1_1Request.html
Normal file
@ -0,0 +1,240 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||||
|
<meta name="generator" content="Doxygen 1.9.6"/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
|
<title>uvw: uvw::request< T, U, E > Class Template Reference</title>
|
||||||
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||||
|
<script type="text/javascript" src="search/search.js"></script>
|
||||||
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr id="projectrow">
|
||||||
|
<td id="projectalign">
|
||||||
|
<div id="projectname">uvw<span id="projectnumber"> 3.1.0</span>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- end header part -->
|
||||||
|
<!-- Generated by Doxygen 1.9.6 -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<script type="text/javascript" src="menudata.js"></script>
|
||||||
|
<script type="text/javascript" src="menu.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||||
|
$(function() {
|
||||||
|
initMenu('',true,false,'search.php','Search');
|
||||||
|
$(document).ready(function() { init_search(); });
|
||||||
|
});
|
||||||
|
/* @license-end */
|
||||||
|
</script>
|
||||||
|
<div id="main-nav"></div>
|
||||||
|
<!-- window showing the filter options -->
|
||||||
|
<div id="MSearchSelectWindow"
|
||||||
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||||
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||||
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- iframe showing the search results (closed by default) -->
|
||||||
|
<div id="MSearchResultsWindow">
|
||||||
|
<div id="MSearchResults">
|
||||||
|
<div class="SRPage">
|
||||||
|
<div id="SRIndex">
|
||||||
|
<div id="SRResults"></div>
|
||||||
|
<div class="SRStatus" id="Loading">Loading...</div>
|
||||||
|
<div class="SRStatus" id="Searching">Searching...</div>
|
||||||
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="nav-path" class="navpath">
|
||||||
|
<ul>
|
||||||
|
<li class="navelem"><a class="el" href="namespaceuvw.html">uvw</a></li><li class="navelem"><a class="el" href="classuvw_1_1request.html">request</a></li> </ul>
|
||||||
|
</div>
|
||||||
|
</div><!-- top -->
|
||||||
|
<div class="header">
|
||||||
|
<div class="summary">
|
||||||
|
<a href="#pub-methods">Public Member Functions</a> |
|
||||||
|
<a href="classuvw_1_1request-members.html">List of all members</a> </div>
|
||||||
|
<div class="headertitle"><div class="title">uvw::request< T, U, E > Class Template Reference</div></div>
|
||||||
|
</div><!--header-->
|
||||||
|
<div class="contents">
|
||||||
|
|
||||||
|
<p>Request base class.
|
||||||
|
<a href="classuvw_1_1request.html#details">More...</a></p>
|
||||||
|
|
||||||
|
<p><code>#include <<a class="el" href="request_8hpp_source.html">request.hpp</a>></code></p>
|
||||||
|
<div class="dynheader">
|
||||||
|
Inheritance diagram for uvw::request< T, U, E >:</div>
|
||||||
|
<div class="dyncontent">
|
||||||
|
<div class="center"><img src="classuvw_1_1request__inherit__graph.png" border="0" usemap="#auvw_1_1request_3_01T_00_01U_00_01E_01_4_inherit__map" alt="Inheritance graph"/></div>
|
||||||
|
<map name="auvw_1_1request_3_01T_00_01U_00_01E_01_4_inherit__map" id="auvw_1_1request_3_01T_00_01U_00_01E_01_4_inherit__map">
|
||||||
|
<area shape="rect" title="Request base class." alt="" coords="75,167,234,192"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1fs__request.html" title=" " alt="" coords="5,240,144,280"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1fs__request.html" title=" " alt="" coords="168,240,301,280"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1resource.html" title=" " alt="" coords="84,79,225,119"/>
|
||||||
|
<area shape="rect" href="structuvw_1_1uv__type.html" title="Wrapper class for underlying types." alt="" coords="9,5,137,31"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1emitter.html" title=" " alt="" coords="162,5,313,31"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1file__req.html" title="The file request." alt="" coords="29,328,121,353"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1fs__req.html" title="The fs request." alt="" coords="191,328,278,353"/>
|
||||||
|
</map>
|
||||||
|
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
|
||||||
|
<div class="dynheader">
|
||||||
|
Collaboration diagram for uvw::request< T, U, E >:</div>
|
||||||
|
<div class="dyncontent">
|
||||||
|
<div class="center"><img src="classuvw_1_1request__coll__graph.png" border="0" usemap="#auvw_1_1request_3_01T_00_01U_00_01E_01_4_coll__map" alt="Collaboration graph"/></div>
|
||||||
|
<map name="auvw_1_1request_3_01T_00_01U_00_01E_01_4_coll__map" id="auvw_1_1request_3_01T_00_01U_00_01E_01_4_coll__map">
|
||||||
|
<area shape="rect" title="Request base class." alt="" coords="71,167,230,192"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1resource.html" title=" " alt="" coords="80,79,221,119"/>
|
||||||
|
<area shape="rect" href="structuvw_1_1uv__type.html" title="Wrapper class for underlying types." alt="" coords="5,5,133,31"/>
|
||||||
|
<area shape="rect" href="classuvw_1_1emitter.html" title=" " alt="" coords="158,5,309,31"/>
|
||||||
|
</map>
|
||||||
|
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
|
||||||
|
<table class="memberdecls">
|
||||||
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
|
||||||
|
Public Member Functions</h2></td></tr>
|
||||||
|
<tr class="memitem:a797d174e440e302a5727161d76b8618d"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1request.html#a797d174e440e302a5727161d76b8618d">cancel</a> ()</td></tr>
|
||||||
|
<tr class="memdesc:a797d174e440e302a5727161d76b8618d"><td class="mdescLeft"> </td><td class="mdescRight">Cancels a pending request. <br /></td></tr>
|
||||||
|
<tr class="separator:a797d174e440e302a5727161d76b8618d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a88400234f18c2f0b285695eab8e55d6c"><td class="memItemLeft" align="right" valign="top">std::size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1request.html#a88400234f18c2f0b285695eab8e55d6c">size</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a88400234f18c2f0b285695eab8e55d6c"><td class="mdescLeft"> </td><td class="mdescRight">Returns the size of the underlying request type. <br /></td></tr>
|
||||||
|
<tr class="separator:a88400234f18c2f0b285695eab8e55d6c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="inherit_header pub_methods_classuvw_1_1resource"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classuvw_1_1resource')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classuvw_1_1resource.html">uvw::resource< T, U, E... ></a></td></tr>
|
||||||
|
<tr class="memitem:a7c05e988ebaa14d1dbbc781951dc3a88 inherit pub_methods_classuvw_1_1resource"><td class="memItemLeft" align="right" valign="top">std::shared_ptr< R > </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1resource.html#a7c05e988ebaa14d1dbbc781951dc3a88">data</a> () const</td></tr>
|
||||||
|
<tr class="memdesc:a7c05e988ebaa14d1dbbc781951dc3a88 inherit pub_methods_classuvw_1_1resource"><td class="mdescLeft"> </td><td class="mdescRight">Gets user-defined data. <code>uvw</code> won't use this field in any case. <br /></td></tr>
|
||||||
|
<tr class="separator:a7c05e988ebaa14d1dbbc781951dc3a88 inherit pub_methods_classuvw_1_1resource"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a759079eb405e5d2fda795d199d8efa80 inherit pub_methods_classuvw_1_1resource"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1resource.html#a759079eb405e5d2fda795d199d8efa80">data</a> (std::shared_ptr< void > udata)</td></tr>
|
||||||
|
<tr class="memdesc:a759079eb405e5d2fda795d199d8efa80 inherit pub_methods_classuvw_1_1resource"><td class="mdescLeft"> </td><td class="mdescRight">Sets arbitrary data. <code>uvw</code> won't use this field in any case. <br /></td></tr>
|
||||||
|
<tr class="separator:a759079eb405e5d2fda795d199d8efa80 inherit pub_methods_classuvw_1_1resource"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="inherit_header pub_methods_structuvw_1_1uv__type"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_structuvw_1_1uv__type')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="structuvw_1_1uv__type.html">uvw::uv_type< U ></a></td></tr>
|
||||||
|
<tr class="memitem:ae97ffacc0b381610d8d18a62a957a69c inherit pub_methods_structuvw_1_1uv__type"><td class="memItemLeft" align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="structuvw_1_1uv__type.html#ae97ffacc0b381610d8d18a62a957a69c">init</a> ()</td></tr>
|
||||||
|
<tr class="memdesc:ae97ffacc0b381610d8d18a62a957a69c inherit pub_methods_structuvw_1_1uv__type"><td class="mdescLeft"> </td><td class="mdescRight">Initializes the handle. <br /></td></tr>
|
||||||
|
<tr class="separator:ae97ffacc0b381610d8d18a62a957a69c inherit pub_methods_structuvw_1_1uv__type"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ae03b0ebbae151c6157c5ba6a24a39a7b inherit pub_methods_structuvw_1_1uv__type"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classuvw_1_1loop.html">loop</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="structuvw_1_1uv__type.html#ae03b0ebbae151c6157c5ba6a24a39a7b">parent</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:ae03b0ebbae151c6157c5ba6a24a39a7b inherit pub_methods_structuvw_1_1uv__type"><td class="mdescLeft"> </td><td class="mdescRight">Gets the loop from which the resource was originated. <br /></td></tr>
|
||||||
|
<tr class="separator:ae03b0ebbae151c6157c5ba6a24a39a7b inherit pub_methods_structuvw_1_1uv__type"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:a06a6cb7ebde27aa348e340b76e49c6ae inherit pub_methods_structuvw_1_1uv__type"><td class="memItemLeft" align="right" valign="top">const U * </td><td class="memItemRight" valign="bottom"><a class="el" href="structuvw_1_1uv__type.html#a06a6cb7ebde27aa348e340b76e49c6ae">raw</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:a06a6cb7ebde27aa348e340b76e49c6ae inherit pub_methods_structuvw_1_1uv__type"><td class="mdescLeft"> </td><td class="mdescRight">Gets the underlying raw data structure. <br /></td></tr>
|
||||||
|
<tr class="separator:a06a6cb7ebde27aa348e340b76e49c6ae inherit pub_methods_structuvw_1_1uv__type"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:af4b6f395815f2e99302b5f09be23767c inherit pub_methods_structuvw_1_1uv__type"><td class="memItemLeft" align="right" valign="top">U * </td><td class="memItemRight" valign="bottom"><a class="el" href="structuvw_1_1uv__type.html#af4b6f395815f2e99302b5f09be23767c">raw</a> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:af4b6f395815f2e99302b5f09be23767c inherit pub_methods_structuvw_1_1uv__type"><td class="mdescLeft"> </td><td class="mdescRight">Gets the underlying raw data structure. <br /></td></tr>
|
||||||
|
<tr class="separator:af4b6f395815f2e99302b5f09be23767c inherit pub_methods_structuvw_1_1uv__type"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="inherit_header pub_methods_classuvw_1_1emitter"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classuvw_1_1emitter')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classuvw_1_1emitter.html">uvw::emitter< T, E... ></a></td></tr>
|
||||||
|
<tr class="memitem:ab913fa1c005a33c73b2eb2b0d1051b1f inherit pub_methods_classuvw_1_1emitter"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1emitter.html#ab913fa1c005a33c73b2eb2b0d1051b1f">on</a> (listener_t< U > f)</td></tr>
|
||||||
|
<tr class="memdesc:ab913fa1c005a33c73b2eb2b0d1051b1f inherit pub_methods_classuvw_1_1emitter"><td class="mdescLeft"> </td><td class="mdescRight">Registers a long-lived listener with the event emitter. <br /></td></tr>
|
||||||
|
<tr class="separator:ab913fa1c005a33c73b2eb2b0d1051b1f inherit pub_methods_classuvw_1_1emitter"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:accff5c096692f5eebbe941189644e69d inherit pub_methods_classuvw_1_1emitter"><td class="memItemLeft" align="right" valign="top"><a id="accff5c096692f5eebbe941189644e69d" name="accff5c096692f5eebbe941189644e69d"></a>
|
||||||
|
void </td><td class="memItemRight" valign="bottom"><b>reset</b> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:accff5c096692f5eebbe941189644e69d inherit pub_methods_classuvw_1_1emitter"><td class="mdescLeft"> </td><td class="mdescRight">Disconnects the listener for the given event type. <br /></td></tr>
|
||||||
|
<tr class="separator:accff5c096692f5eebbe941189644e69d inherit pub_methods_classuvw_1_1emitter"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:aa71435e74e775cfa7012fe2e52ca5193 inherit pub_methods_classuvw_1_1emitter"><td class="memItemLeft" align="right" valign="top"><a id="aa71435e74e775cfa7012fe2e52ca5193" name="aa71435e74e775cfa7012fe2e52ca5193"></a>
|
||||||
|
void </td><td class="memItemRight" valign="bottom"><b>reset</b> () noexcept</td></tr>
|
||||||
|
<tr class="memdesc:aa71435e74e775cfa7012fe2e52ca5193 inherit pub_methods_classuvw_1_1emitter"><td class="mdescLeft"> </td><td class="mdescRight">Disconnects all listeners. <br /></td></tr>
|
||||||
|
<tr class="separator:aa71435e74e775cfa7012fe2e52ca5193 inherit pub_methods_classuvw_1_1emitter"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
<tr class="memitem:ac02a29fe156faba7571b50450fc4f780 inherit pub_methods_classuvw_1_1emitter"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvw_1_1emitter.html#ac02a29fe156faba7571b50450fc4f780">has</a> () const noexcept</td></tr>
|
||||||
|
<tr class="memdesc:ac02a29fe156faba7571b50450fc4f780 inherit pub_methods_classuvw_1_1emitter"><td class="mdescLeft"> </td><td class="mdescRight">Checks if there is a listener registered for the specific event. <br /></td></tr>
|
||||||
|
<tr class="separator:ac02a29fe156faba7571b50450fc4f780 inherit pub_methods_classuvw_1_1emitter"><td class="memSeparator" colspan="2"> </td></tr>
|
||||||
|
</table>
|
||||||
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||||
|
<div class="textblock"><div class="compoundTemplParams">template<typename T, typename U, typename... E><br />
|
||||||
|
class uvw::request< T, U, E ></div><p>Request base class. </p>
|
||||||
|
<p>Base type for all <code>uvw</code> request types. </p>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="request_8hpp_source.html#l00019">19</a> of file <a class="el" href="request_8hpp_source.html">request.hpp</a>.</p>
|
||||||
|
</div><h2 class="groupheader">Member Function Documentation</h2>
|
||||||
|
<a id="a797d174e440e302a5727161d76b8618d" name="a797d174e440e302a5727161d76b8618d"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#a797d174e440e302a5727161d76b8618d">◆ </a></span>cancel()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<div class="memtemplate">
|
||||||
|
template<typename T , typename U , typename... E> </div>
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">int <a class="el" href="classuvw_1_1request.html">uvw::request</a>< T, U, E >::cancel </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Cancels a pending request. </p>
|
||||||
|
<p>This method fails if the request is executing or has finished executing.</p>
|
||||||
|
<p>See the official <a href="http://docs.libuv.org/en/v1.x/request.html#c.uv_cancel">documentation</a> for further details.</p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>Underlying return value. </dd></dl>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="request_8hpp_source.html#l00042">42</a> of file <a class="el" href="request_8hpp_source.html">request.hpp</a>.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a id="a88400234f18c2f0b285695eab8e55d6c" name="a88400234f18c2f0b285695eab8e55d6c"></a>
|
||||||
|
<h2 class="memtitle"><span class="permalink"><a href="#a88400234f18c2f0b285695eab8e55d6c">◆ </a></span>size()</h2>
|
||||||
|
|
||||||
|
<div class="memitem">
|
||||||
|
<div class="memproto">
|
||||||
|
<div class="memtemplate">
|
||||||
|
template<typename T , typename U , typename... E> </div>
|
||||||
|
<table class="mlabels">
|
||||||
|
<tr>
|
||||||
|
<td class="mlabels-left">
|
||||||
|
<table class="memname">
|
||||||
|
<tr>
|
||||||
|
<td class="memname">std::size_t <a class="el" href="classuvw_1_1request.html">uvw::request</a>< T, U, E >::size </td>
|
||||||
|
<td>(</td>
|
||||||
|
<td class="paramname"></td><td>)</td>
|
||||||
|
<td> const</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
<td class="mlabels-right">
|
||||||
|
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div><div class="memdoc">
|
||||||
|
|
||||||
|
<p>Returns the size of the underlying request type. </p>
|
||||||
|
<dl class="section return"><dt>Returns</dt><dd>The size of the underlying request type. </dd></dl>
|
||||||
|
|
||||||
|
<p class="definition">Definition at line <a class="el" href="request_8hpp_source.html#l00050">50</a> of file <a class="el" href="request_8hpp_source.html">request.hpp</a>.</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<hr/>The documentation for this class was generated from the following file:<ul>
|
||||||
|
<li>src/uvw/<a class="el" href="request_8hpp_source.html">request.hpp</a></li>
|
||||||
|
</ul>
|
||||||
|
</div><!-- contents -->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.6
|
||||||
|
</small></address>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
6
classuvw_1_1Request__coll__graph.map
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<map id="uvw::request< T, U, E >" name="uvw::request< T, U, E >">
|
||||||
|
<area shape="rect" id="node1" title="Request base class." alt="" coords="71,167,230,192"/>
|
||||||
|
<area shape="rect" id="node2" href="$classuvw_1_1resource.html" title=" " alt="" coords="80,79,221,119"/>
|
||||||
|
<area shape="rect" id="node3" href="$structuvw_1_1uv__type.html" title="Wrapper class for underlying types." alt="" coords="5,5,133,31"/>
|
||||||
|
<area shape="rect" id="node4" href="$classuvw_1_1emitter.html" title=" " alt="" coords="158,5,309,31"/>
|
||||||
|
</map>
|
||||||
1
classuvw_1_1Request__coll__graph.md5
Normal file
@ -0,0 +1 @@
|
|||||||
|
9139fab05d97f103c26a02a3c6665edd
|
||||||
BIN
classuvw_1_1Request__coll__graph.png
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
10
classuvw_1_1Request__inherit__graph.map
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<map id="uvw::request< T, U, E >" name="uvw::request< T, U, E >">
|
||||||
|
<area shape="rect" id="node1" title="Request base class." alt="" coords="75,167,234,192"/>
|
||||||
|
<area shape="rect" id="node5" href="$classuvw_1_1fs__request.html" title=" " alt="" coords="5,240,144,280"/>
|
||||||
|
<area shape="rect" id="node7" href="$classuvw_1_1fs__request.html" title=" " alt="" coords="168,240,301,280"/>
|
||||||
|
<area shape="rect" id="node2" href="$classuvw_1_1resource.html" title=" " alt="" coords="84,79,225,119"/>
|
||||||
|
<area shape="rect" id="node3" href="$structuvw_1_1uv__type.html" title="Wrapper class for underlying types." alt="" coords="9,5,137,31"/>
|
||||||
|
<area shape="rect" id="node4" href="$classuvw_1_1emitter.html" title=" " alt="" coords="162,5,313,31"/>
|
||||||
|
<area shape="rect" id="node6" href="$classuvw_1_1file__req.html" title="The file request." alt="" coords="29,328,121,353"/>
|
||||||
|
<area shape="rect" id="node8" href="$classuvw_1_1fs__req.html" title="The fs request." alt="" coords="191,328,278,353"/>
|
||||||
|
</map>
|
||||||
1
classuvw_1_1Request__inherit__graph.md5
Normal file
@ -0,0 +1 @@
|
|||||||
|
e69a0abbdb0e90ccec99335ebf6f44b4
|
||||||
BIN
classuvw_1_1Request__inherit__graph.png
Normal file
|
After Width: | Height: | Size: 8.7 KiB |