Remove Boost dependency

From FIFE development wiki
Jump to: navigation, search

Contents

Introduction

This article evaluates if and how we could / should remove the Boost dependency from FIFE.

Boost features we use

What Boost functionality do we use?

grep -h -r boost *|grep include|sort -u
#include <boost/algorithm/string/predicate.hpp>
#include <boost/bind.hpp>
#include <boost/filesystem/convenience.hpp>
#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/path.hpp>
#include <boost/functional.hpp>
#include <boost/function.hpp>
#include <boost/intrusive_ptr.hpp>
#include <boost/lexical_cast.hpp>
#include <boost/regex.hpp>
#include <boost/scoped_array.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/tokenizer.hpp>
#include <boost/variant.hpp>
#include <boost/weak_ptr.hpp>

Without checking the actual code I assume the boost functionality (we use) can be grouped as:

  • filesystem
  • several kinds of (smart) pointers
  • the variant type
  • stuff that works on strings (regex, tokenizer)
  • function pointers (aka functors)

Places where we use it

In which engine modules do we use Boost?

Alternatives to Boost

Alternatives for certain functionality that is currently provided by Boost should be listed here.

Personal tools