aboutsummaryrefslogtreecommitdiff
path: root/src/list/operation/delete_nth.h
blob: 6127ade0fe9c64990075d471fb1894c76aa05f8f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#ifndef TYPEASVALUE_SRC_LIST_OPERATION_DELETE_NTH_H_
#define TYPEASVALUE_SRC_LIST_OPERATION_DELETE_NTH_H_

#include "list/operation/append.h"
#include "list/operation/take.h"
#include "list/operation/drop.h"

namespace tav {

template <
	typename Index,
	typename List
>
using DeleteNth = Append<
	Eval<Take<Index, List>>,
	Eval<Drop<Add<Index, Size<1>>, List>>
>;

}

#endif  // TYPEASVALUE_SRC_LIST_OPERATION_DELETE_NTH_H_