SYMBOL INDEX (178 symbols across 61 files) FILE: code/1/1.1.c.and.cpp function main (line 15) | int main() { FILE: code/1/foo.c function add (line 14) | int add(int x, int y) { FILE: code/10/10.1.without.concepts.cpp function main (line 14) | int main() { FILE: code/10/10.2.concepts.cpp type Person (line 28) | struct Person { method Person (line 30) | Person(double a, double b) : height(a), weight(b) {} method string (line 31) | string to_string(){ type std (line 37) | namespace std { function string (line 39) | string to_string(list l){ function string (line 49) | string to_string(std::vector v){ function print (line 58) | void print(Stringable a){ function print (line 62) | void print(HasStringFunc a){ function main (line 66) | int main() { FILE: code/2/2.01.nullptr.cpp function main (line 16) | int main() { function foo (line 30) | void foo(char *) { function foo (line 33) | void foo(int i) { FILE: code/2/2.02.constexpr.cpp function len_foo (line 13) | int len_foo() { function len_foo_constexpr (line 17) | constexpr int len_foo_constexpr() { function fibonacci (line 29) | constexpr int fibonacci(const int n) { function main (line 34) | int main() { FILE: code/2/2.03.if.switch.cpp function main (line 14) | int main() { FILE: code/2/2.04.initializer.list.cpp class Foo (line 14) | class Foo { method Foo (line 18) | Foo(int a, int b) : value_a(a), value_b(b) {} class MagicFoo (line 21) | class MagicFoo { method MagicFoo (line 24) | MagicFoo(std::initializer_list list) { method foo (line 29) | void foo(std::initializer_list list) { function main (line 36) | int main() { FILE: code/2/2.05.structured.binding.cpp function f (line 14) | std::tuple f() { function main (line 18) | int main() { FILE: code/2/2.06.auto.cpp class MagicFoo (line 14) | class MagicFoo { method MagicFoo (line 17) | MagicFoo(std::initializer_list list) { function add (line 24) | int add(auto x, auto y) { // Supported in C++20 function main (line 28) | int main() { FILE: code/2/2.07.decltype.cpp function main (line 13) | int main() { FILE: code/2/2.08.tail.return.type.cpp function R (line 15) | R add(T x, U y) { function add2 (line 20) | auto add2(T x, U y) -> decltype(x+y){ function add3 (line 25) | auto add3(T x, U y){ function main (line 29) | int main() { FILE: code/2/2.09.decltype.auto.cpp type Int (line 11) | struct Int {} function iter (line 16) | constexpr auto iter(Int) { function main (line 20) | int main() { FILE: code/2/2.10.if.constexpr.cpp function print_type_info (line 13) | auto print_type_info(const T& t) { function main (line 29) | int main() { FILE: code/2/2.11.for.loop.cpp function main (line 14) | int main() { FILE: code/2/2.12.external.template.cpp class std::vector (line 13) | class std::vector class std::vector (line 14) | class std::vector class MagicType (line 16) | class MagicType { function main (line 20) | int main() { FILE: code/2/2.13.alias.template.cpp class MagicType (line 15) | class MagicType { function main (line 30) | int main() { FILE: code/2/2.14.default.template.param.cpp function add (line 13) | auto add(T x, U y) -> decltype(x+y) { function main (line 17) | int main() { FILE: code/2/2.15.variadic.template.param.cpp function magic (line 16) | void magic(Ts... args) { function printf1 (line 23) | void printf1(T0 value) { function printf1 (line 27) | void printf1(T value, Ts... args) { function printf2 (line 34) | void printf2(T0 t0, T... t) { function printf3 (line 41) | auto printf3(T value, Ts... args) { function main (line 48) | int main() { FILE: code/2/2.16.fold.expression.cpp function sum (line 12) | auto sum(T ... t) { function main (line 15) | int main() { FILE: code/2/2.18.non.type.template.auto.cpp function foo (line 12) | void foo() { function main (line 17) | int main() { FILE: code/2/2.19.delegate.constructor.cpp class Base (line 12) | class Base { method Base (line 16) | Base() = delete; method Base (line 17) | Base(std::string s) { method Base (line 22) | Base(std::string s, int v) : Base(s) { method foo (line 27) | virtual void foo() final { method foo (line 30) | virtual void foo(int v) { class Subclass (line 34) | class Subclass final : public Base { method Subclass (line 37) | Subclass() = delete; method Subclass (line 40) | Subclass(double f, int v, std::string s) : Base(s, v) { method foo (line 45) | virtual void foo(int v) override { function main (line 57) | int main() { FILE: code/2/2.20.strong.type.enum.cpp type Left (line 17) | enum Left { type Right (line 21) | enum Right { type new_enum (line 26) | enum class new_enum : unsigned int{ function main (line 33) | int main() { FILE: code/3/3.1.lambda.basic.cpp function lambda_value_capture (line 15) | void lambda_value_capture() { function lambda_reference_capture (line 27) | void lambda_reference_capture() { function lambda_expression_capture (line 39) | void lambda_expression_capture() { function lambda_generic (line 47) | void lambda_generic() { function main (line 56) | int main() { FILE: code/3/3.2.function.wrap.cpp function functional (line 14) | void functional(foo f) { function foo2 (line 18) | int foo2(int para) { function foo3 (line 22) | int foo3(int a, int b, int c) { function main (line 26) | int main() { FILE: code/3/3.3.rvalue.cpp function reference (line 13) | void reference(std::string& str) { function reference (line 16) | void reference(std::string&& str) { function main (line 20) | int main() FILE: code/3/3.4.historical.cpp function main (line 11) | int main() { FILE: code/3/3.5.move.semantics.cpp class A (line 10) | class A { method A (line 13) | A():pointer(new int(1)) { method A (line 16) | A(A& a):pointer(new int(*a.pointer)) { method A (line 19) | A(A&& a):pointer(a.pointer) { function A (line 29) | A return_rvalue(bool test) { method A (line 13) | A():pointer(new int(1)) { method A (line 16) | A(A& a):pointer(new int(*a.pointer)) { method A (line 19) | A(A&& a):pointer(a.pointer) { function main (line 34) | int main() { FILE: code/3/3.6.move.semantics.cpp function main (line 14) | int main() { FILE: code/3/3.7.perfect.forward.cpp function reference (line 11) | void reference(int& v) { function reference (line 14) | void reference(int&& v) { function pass (line 18) | void pass(T&& v) { function main (line 28) | int main() { FILE: code/4/4.1.linear.container.cpp function foo (line 13) | void foo(int *p, int len) { function main (line 19) | int main() { FILE: code/4/4.2.unordered.map.cpp function main (line 15) | int main() { FILE: code/4/4.3.tuples.cpp function get_student (line 15) | auto get_student(int id) function _tuple_index (line 28) | constexpr std::variant _tuple_index(const std::tuple& tpl, s... function tuple_index (line 36) | constexpr std::variant tuple_index(const std::tuple& tpl, si... function tuple_len (line 41) | auto tuple_len(T &tpl) { function main (line 51) | int main() FILE: code/5/5.1.shared.ptr.a.cpp function foo (line 13) | void foo(std::shared_ptr i) function main (line 18) | int main() FILE: code/5/5.2.unique.ptr.cpp type Foo (line 13) | struct Foo { method Foo (line 14) | Foo() { std::cout << "Foo::Foo" << std::endl; } method foo (line 16) | void foo() { std::cout << "Foo::foo" << std::endl; } function f (line 19) | void f(const Foo &) { function main (line 23) | int main() { FILE: code/5/5.3.weak.ptr.cpp class A (line 14) | class A class B (line 15) | class B class A (line 17) | class A { class B (line 24) | class B { function main (line 31) | int main() { FILE: code/6/6.1.regex.cpp function main (line 14) | int main() { FILE: code/7/7.1.thread.basic.cpp function main (line 13) | int main() { FILE: code/7/7.2.critical.section.a.cpp function critical_section (line 16) | void critical_section(int change_v) { function main (line 26) | int main() { FILE: code/7/7.3.critical.section.b.cpp function critical_section (line 16) | void critical_section(int change_v) { function main (line 35) | int main() { FILE: code/7/7.4.futures.cpp function main (line 14) | int main() { FILE: code/7/7.5.producer.consumer.cpp function main (line 18) | int main() { FILE: code/7/7.6.atomic.cpp function main (line 16) | int main() { FILE: code/7/7.6.bad.example.cpp function main (line 13) | int main() { FILE: code/7/7.7.is.lock.free.cpp type A (line 13) | struct A { function main (line 19) | int main() { FILE: code/7/7.8.memory.order.cpp function relaxed_order (line 20) | void relaxed_order() { function release_consume_order (line 39) | void release_consume_order() { function release_acquire_order (line 60) | void release_acquire_order() { function sequential_consistent_order (line 86) | void sequential_consistent_order() { function main (line 105) | int main() { FILE: code/9/9.1.noexcept.cpp function may_throw (line 12) | void may_throw() { function no_throw (line 18) | void no_throw() noexcept { function main (line 26) | int main() FILE: code/9/9.2.literals.cpp function main (line 21) | int main() { FILE: code/9/9.3.alignment.cpp type Storage (line 13) | struct Storage { type AlignasStorage (line 20) | struct alignas(std::max_align_t) AlignasStorage { function main (line 27) | int main() { FILE: exercises/2/fold.expresion.cpp function average (line 13) | auto average(T ... t) { function main (line 16) | int main() { FILE: exercises/2/structured.binding.cpp function update (line 17) | void update(std::map& m, F foo) { function main (line 21) | int main() { FILE: exercises/6/handler.hpp function start_server (line 15) | void start_server(SERVER_TYPE &server) { FILE: exercises/6/main.http.cpp function main (line 14) | int main() { FILE: exercises/6/main.https.cpp function main (line 12) | int main() { FILE: exercises/6/server.base.hpp type Web (line 17) | namespace Web { type Request (line 18) | struct Request { class ServerBase (line 35) | class ServerBase { method ServerBase (line 41) | ServerBase(unsigned short port, size_t num_threads = 1) : method start (line 46) | void start() { method accept (line 91) | virtual void accept() {} method process_request_and_respond (line 93) | void process_request_and_respond(std::shared_ptr socket... method Request (line 134) | Request parse_request(std::istream& stream) const { method respond (line 166) | void respond(std::shared_ptr socket, std::shared_ptr {} FILE: exercises/6/server.http.hpp type Web (line 13) | namespace Web { class Server (line 16) | class Server : public ServerBase { method Server (line 20) | Server(unsigned short port, size_t num_threads=1) : method accept (line 24) | void accept() { FILE: exercises/6/server.https.hpp type Web (line 14) | namespace Web { class Server (line 21) | class Server : public ServerBase { method Server (line 24) | Server(unsigned short port, size_t num_threads, method accept (line 42) | void accept() { FILE: exercises/7/7.1/main.cpp function main (line 21) | int main() FILE: exercises/7/7.1/thread_pool.hpp class ThreadPool (line 27) | class ThreadPool { FILE: exercises/7/7.2.mutex.cpp class mutex (line 5) | class mutex { method lock (line 9) | void lock() method unlock (line 15) | void unlock() function main (line 24) | int main() { FILE: website/themes/moderncpp/source/modern-cpp/js/common.js function initMobileMenu (line 13) | function initMobileMenu () { function initVersionSelect (line 54) | function initVersionSelect () { function initSubHeaders (line 74) | function initSubHeaders () {