Skip to content

sleepingeight/metaprog-lib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Metaprogramming library

This repo contains the implementation of a type list, which implements all the functionalities at compile-time reducing the overhead during run-time.

type list : this is a list of types

features implemented

  1. empty : checks whether a given type list is empty or not.
  2. front : provides the first type in the given type list
  3. pop_front : removes the first type from the given type list and returns the newly formed type list
  4. at <typename LIST, size_t index>: gives the type present at a given index.
  5. back : extracts the type present at the end of the list
  6. push_back <typename LIST, typename T>: forms a new type list by inserting a given type into the list
  7. pop_back : forms a new type list by removing the last type in the list
  8. any <template class PREDICATE, typename LIST>: checks whether a type from the type list satisfies the given predicate/property.

the sub-folder contains

  1. remove_if: removes all elements from the type list satisfying a given property.

The remove_if algorithm is optimised to handle upto 50000 sized type lists (as a learning excercise in metaprogramming performance).

i would like to thank @QBouts for his helpful tuts on yt.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages