initial commit, let's just do this instead of studying. also hail Bjarne
This commit is contained in:
commit
4427596609
10
.gitignore
vendored
Normal file
10
.gitignore
vendored
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
.idea
|
||||||
|
.DS_Store
|
||||||
|
*.out
|
||||||
|
CMakeFiles
|
||||||
|
CMakeCache.txt
|
||||||
|
cmake_install.cmake
|
||||||
|
Makefile
|
||||||
|
Function
|
||||||
|
build
|
||||||
|
cmake-build-debug
|
8
CMakeLists.txt
Normal file
8
CMakeLists.txt
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.6)
|
||||||
|
project(Function)
|
||||||
|
|
||||||
|
set(CMAKE_CXX_STANDARD 14)
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pedantic")
|
||||||
|
|
||||||
|
set(SOURCE_FILES main.cpp)
|
||||||
|
add_executable(Function ${SOURCE_FILES})
|
9
Function.hpp
Normal file
9
Function.hpp
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
template <typename Fun>
|
||||||
|
class Function;
|
||||||
|
|
||||||
|
|
||||||
|
template <typename Ret, typename... Args>
|
||||||
|
class function
|
||||||
|
{
|
||||||
|
// TODO: everything :'D
|
||||||
|
};
|
29
main.cpp
Normal file
29
main.cpp
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <cmath>
|
||||||
|
#include "Function.hpp"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
Function<double(double)> f;
|
||||||
|
|
||||||
|
if (!f)
|
||||||
|
std::cout << "Egyelőre nullptr" << std::endl;
|
||||||
|
|
||||||
|
f = sin;
|
||||||
|
std::cout << sin(2.3) << "==" << f(2.3) << std::endl;
|
||||||
|
|
||||||
|
f = [] (double x) { return x*x; };
|
||||||
|
std::cout << 2.3*2.3 << "==" << f(2.3) << std::endl;
|
||||||
|
|
||||||
|
f = std::bind(pow, std::placeholders::_1, 4);
|
||||||
|
std::cout << pow(2.3, 4) << "==" << f(2.3) << std::endl;
|
||||||
|
|
||||||
|
f = nullptr;
|
||||||
|
try {
|
||||||
|
f(2.3);
|
||||||
|
} catch (std::bad_function_call &e) {
|
||||||
|
std::cout << "Megint nullptr" << std::endl;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user