Initial Course
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
#pragma once
|
||||
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
namespace cpp14 {
|
||||
|
||||
[[nodiscard]] inline auto copy_or_reference(const std::vector<int>& input) -> decltype(auto) {
|
||||
(void)input;
|
||||
static std::vector<int> empty;
|
||||
return empty;
|
||||
}
|
||||
|
||||
[[nodiscard]] inline auto identity(int value) -> decltype(auto) { return value; }
|
||||
|
||||
} // namespace cpp14
|
||||
@@ -0,0 +1,11 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
namespace cpp14 {
|
||||
|
||||
[[nodiscard]] auto million() -> int;
|
||||
[[nodiscard]] auto mask() -> std::uint32_t;
|
||||
[[nodiscard]] auto bits_set() -> int;
|
||||
|
||||
} // namespace cpp14
|
||||
@@ -0,0 +1,12 @@
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
namespace cpp14 {
|
||||
|
||||
[[nodiscard]] auto apply_twice(const std::vector<int>& values) -> std::vector<int>;
|
||||
[[nodiscard]] auto concat_any(const std::vector<std::string>& a, const std::vector<std::string>& b)
|
||||
-> std::vector<std::string>;
|
||||
|
||||
} // namespace cpp14
|
||||
@@ -0,0 +1,18 @@
|
||||
#pragma once
|
||||
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
namespace cpp14 {
|
||||
|
||||
struct Task {
|
||||
std::string name;
|
||||
int priority;
|
||||
};
|
||||
|
||||
[[nodiscard]] auto make_task(std::string name, int priority) -> std::unique_ptr<Task>;
|
||||
[[nodiscard]] auto clone_task(const Task& task) -> std::unique_ptr<Task>;
|
||||
[[nodiscard]] auto total_priority(const std::vector<std::unique_ptr<Task>>& tasks) -> int;
|
||||
|
||||
} // namespace cpp14
|
||||
Reference in New Issue
Block a user