summaryrefslogtreecommitdiff
path: root/Documentation
AgeCommit message (Expand)Author
2019-05-23meson: Fix coding style in meson.build filesLaurent Pinchart
2019-05-21libcamera: ipa_module: add IPA shared library modulePaul Elder
2019-05-03libcamera: device_enumerator: add DeviceEnumeratorSysfs classPaul Elder
2019-04-28Documentation: Drop install directive for DoxyfileNiklas Söderlund
2019-04-27libcamera: Make libudev optionalLaurent Pinchart
2019-04-19libcamera: Document documentation style and update the code accordinglyLaurent Pinchart
2019-02-14Documentation: coding-style: Discourage move on shared_ptr<>Jacopo Mondi
2019-02-13libcamera: signal: Disconnect signal automatically on slot deletionLaurent Pinchart
2019-01-22utils: checkstyle: Add support for clang-formatLaurent Pinchart
2019-01-21libcamera: log: Add log categoriesLaurent Pinchart
2019-01-21Documentation: coding_style: Add object ownership rulesLaurent Pinchart
2019-01-21Documentation: coding_style: Add move semantics to C++11 featuresLaurent Pinchart
2019-01-16Documentation: coding_style: Allow C++11 variadic templatesLaurent Pinchart
2019-01-16Documentation: Exclude pipeline handlers directoryLaurent Pinchart
2019-01-14Documentation: quieten sphinx-build outputKieran Bingham
2019-01-11Documentation: Add placeholder for Doxygen-generated API documentationLaurent Pinchart
2019-01-11Documentation: Update copyright yearsLaurent Pinchart
2019-01-11Documentation: Link to the API documentation generated by DoxygenLaurent Pinchart
2019-01-11Documentation: Make the toctree more web-friendlyLaurent Pinchart
2019-01-11Documentation: Add custom themeLaurent Pinchart
2019-01-08libcamera: Add signal/slot communication mechanismLaurent Pinchart
2019-01-08Documentation: Suppress normal doxygen outputKieran Bingham
2019-01-02licenses: Add the Developer CoOKieran Bingham
2018-12-14Documentation: Remove | on the left side of diagramsLaurent Pinchart
2018-12-14Documentation: Document the style check scriptJacopo Mondi
2018-12-14Documentation: contributing: Mark command line as shell code-blockLaurent Pinchart
2018-12-14Documentation: coding-style: Fix list indentationLaurent Pinchart
2018-12-14Documentation: Add architecture documentationLaurent Pinchart
2018-12-14Documentation: contributing: Add links to libcamera git and linuxtv.orgLaurent Pinchart
2018-12-14Documentation: Remove _static and _templates directoryLaurent Pinchart
2018-12-13Documentation: Add coding style documentJacopo Mondi
2018-12-12Documentation: Generate source code documentation using DoxygenLaurent Pinchart
2018-12-12Documentation: Don't hardcode install directoryLaurent Pinchart
2018-12-11Documentation: Set install_dir in custom_target()Laurent Pinchart
2018-11-28Documentation: Introduce sphinx documentationKieran Bingham
1, 2, 3, 4 }; /* * Compile-test construction and usage of spans with static * extent. Commented-out tests are expected not to compile, or * to generate undefined behaviour. */ Span<int, 0>{}; /* Span<int, 4>{}; */ Span<int, 4>{ &i[0], 4 }; Span<int, 4>{ &i[0], &i[3] }; Span<int, 4>{ i }; /* Span<float, 4>{ i }; */ /* Span<int, 2>{ i }; */ Span<int, 4>{ a }; Span<const int, 4>{ a }; /* Span<float, 4>{ a }; */ /* Span<int, 2>{ a }; */ Span<const int, 4>{ ca }; /* Span<const int, 2>{ ca }; */ /* Span<const float, 4>{ ca }; */ /* Span<int, 4>{ ca }; */ Span<int, 4>{ v }; Span<const int, 4>{ v }; /* Span<float, 4>{ v }; */ Span<const int, 4>{ v }; /* Span<int, 4>{ v }; */ /* Span<const float, 4>{ v }; */ Span<int, 4> staticSpan{ i }; Span<int, 4>{ staticSpan }; Span<const int, 4>{ staticSpan }; /* Span<const int, 2>{ staticSpan }; */ staticSpan = Span<int, 4>{ v }; if (*staticSpan.begin() != 1) { std::cout << "Span<static_extent>::begin() failed" << std::endl; return TestFail; } if (*staticSpan.cbegin() != 1) { std::cout << "Span<static_extent>::cbegin() failed" << std::endl; return TestFail; } staticSpan.end(); staticSpan.cend(); if (*staticSpan.rbegin() != 4) { std::cout << "Span<static_extent>::rbegin() failed" << std::endl; return TestFail; } if (*staticSpan.crbegin() != 4) { std::cout << "Span<static_extent>::crbegin() failed" << std::endl; return TestFail; } staticSpan.rend(); staticSpan.crend(); staticSpan.front(); staticSpan.back(); staticSpan[0]; staticSpan.data(); staticSpan.size(); staticSpan.size_bytes(); staticSpan.empty(); staticSpan.first<2>(); staticSpan.first(2); /* staticSpan.first<6>(); */ /* staticSpan.first(6); */ staticSpan.last<2>(); staticSpan.last(2); /* staticSpan.last<6>(); */ /* staticSpan.last(6); */ staticSpan.subspan<1>(); staticSpan.subspan<1, 2>(); staticSpan.subspan(1); staticSpan.subspan(1, 2); /* staticSpan.subspan(2, 4); */ /* * Compile-test construction and usage of spans with dynamic * extent. Commented-out tests are expected not to compile, or * to generate undefined behaviour. */ Span<int>{}; Span<int>{ &i[0], 4 }; Span<int>{ &i[0], &i[3] }; Span<int>{ i }; /* Span<float>{ i }; */ Span<int>{ a }; Span<const int>{ a }; /* Span<float>{ a }; */ Span<const int>{ ca }; /* Span<const float>{ca}; */ /* Span<int>{ca}; */ Span<int>{ v }; Span<const int>{ v }; /* Span<float>{ v }; */ Span<const int>{ v }; /* Span<int>{ v }; */ /* Span<const float>{ v }; */ Span<int> dynamicSpan{ i }; Span<int>{ dynamicSpan }; Span<const int>{ dynamicSpan }; dynamicSpan = Span<int>{ a }; if (*dynamicSpan.begin() != 1) { std::cout << "Span<dynamic_extent>::begin() failed" << std::endl; return TestFail; } if (*dynamicSpan.cbegin() != 1) { std::cout << "Span<dynamic_extent>::cbegin() failed" << std::endl; return TestFail; } dynamicSpan.end(); dynamicSpan.cend(); if (*dynamicSpan.rbegin() != 4) { std::cout << "Span<dynamic_extent>::rbegin() failed" << std::endl; return TestFail; } if (*dynamicSpan.crbegin() != 4) { std::cout << "Span<dynamic_extent>::crbegin() failed" << std::endl; return TestFail; } dynamicSpan.rend(); dynamicSpan.crend(); dynamicSpan.front(); dynamicSpan.back(); dynamicSpan[0]; dynamicSpan.data(); dynamicSpan.size(); dynamicSpan.size_bytes(); dynamicSpan.empty(); dynamicSpan.first<2>(); dynamicSpan.first(2); /* dynamicSpan.first<6>(); */ /* dynamicSpan.first(6); */ dynamicSpan.last<2>(); dynamicSpan.last(2); /* dynamicSpan.last<6>(); */ /* dynamicSpan.last(6); */ dynamicSpan.subspan<1>(); dynamicSpan.subspan<1, 2>(); dynamicSpan.subspan(1); dynamicSpan.subspan(1, 2); /* dynamicSpan.subspan(2, 4); */ return TestPass; } }; TEST_REGISTER(SpanTest)