Есть ли какой-либо шаблон, доступный в boost для RAII
. Есть такие классы, как scoped_ptr
, shared_ptr
, которые в основном работают с указателем. Можно ли использовать эти классы для любых других ресурсов, кроме указателей. Есть ли шаблон, который работает с общими ресурсами.
Возьмем, к примеру, некоторый ресурс, который приобретается в начале области действия и должен быть каким-то образом высвобожден в конце области действия. Как приобретение, так и выпуск требуют некоторых шагов. Мы могли бы написать шаблон, который принимает два (или, может быть, один объект) функтора, которые выполняют эту задачу. Я не думал, как этого можно добиться, мне просто интересно, существуют ли какие-либо существующие методы для этого.
Edit:
Как насчет C++0x с поддержкой лямбда-функций?