#include <boost/circular_buffer.hpp>
#include <boost/timer.hpp>
#include <boost/filesystem.hpp>
-#include <boost/foreach.hpp>
#include <boost/range.hpp>
#include <boost/range/adaptors.hpp>
#include <boost/range/algorithm.hpp>
#include <tbb/parallel_for_each.h>
#include <tbb/concurrent_queue.h>
-#include <boost/foreach.hpp>
#include <boost/range.hpp>
#include <boost/range/algorithm_ext/erase.hpp>
#include <boost/thread/future.hpp>
});
// Stills are progressive
- BOOST_FOREACH(auto item, items)
+ for (auto& item : items)
{
if(item.transform.is_still)
item.transform.field_mode = core::field_mode::progressive;
void draw(std::vector<item> items, uint8_t* dest, std::size_t width, std::size_t height, core::field_mode field_mode)
{
- BOOST_FOREACH(auto& item, items)
+ for (auto& item : items)
item.transform.field_mode &= field_mode;
// Remove empty items.
{
std::set<std::array<const uint8_t*, 4>> buffers;
- BOOST_FOREACH(auto& item, source_items)
+ for (auto& item : source_items)
buffers.insert(item.data);
auto dest_items = source_items;
virtual core::mutable_frame create_frame(const void* tag, const core::pixel_format_desc& desc)
{
std::vector<array<std::uint8_t>> buffers;
- BOOST_FOREACH(auto& plane, desc.planes)
+ for (auto& plane : desc.planes)
{
auto buf = spl::make_shared<buffer>(plane.size);
buffers.push_back(array<std::uint8_t>(buf->data(), plane.size, true, buf));
#include <gl/glew.h>
-#include <boost/foreach.hpp>
#include <boost/range/algorithm_ext/erase.hpp>
#include <boost/thread/future.hpp>
if(format_desc.field_mode != core::field_mode::progressive)
{ // Remove jitter from still.
- BOOST_FOREACH(auto& layer, layers)
+ for (auto& layer : layers)
{
// Remove first field stills.
boost::range::remove_erase_if(layer.items, [&](const item& item)
});
// Stills are progressive
- BOOST_FOREACH(auto& item, layer.items)
+ for (auto& item : layer.items)
{
if(item.transform.is_still)
item.transform.field_mode = core::field_mode::progressive;
{
std::shared_ptr<texture> layer_key_texture;
- BOOST_FOREACH(auto& layer, layers)
+ for (auto& layer : layers)
draw(target_texture, std::move(layer), layer_key_texture, format_desc, field_mode);
}
//}
// Mask out fields
- BOOST_FOREACH(auto& item, layer.items)
+ for (auto& item : layer.items)
item.transform.field_mode &= field_mode;
// Remove empty items.
{
auto layer_texture = ogl_->create_texture(target_texture->width(), target_texture->height(), 4);
- BOOST_FOREACH(auto& item, layer.items)
+ for (auto& item : layer.items)
draw(layer_texture, std::move(item), layer_key_texture, local_key_texture, local_mix_texture);
draw(layer_texture, std::move(local_mix_texture), core::blend_mode::normal);
}
else // fast path
{
- BOOST_FOREACH(auto& item, layer.items)
+ for (auto& item : layer.items)
draw(target_texture, std::move(item), layer_key_texture, local_key_texture, local_mix_texture);
draw(target_texture, std::move(local_mix_texture), core::blend_mode::normal);
draw_params.transform = std::move(item.transform);
draw_params.geometry = item.geometry;
- BOOST_FOREACH(auto& future_texture, item.textures)
+ for (auto& future_texture : item.textures)
draw_params.textures.push_back(spl::make_shared_ptr(future_texture.get()));
if(item.transform.is_key)
core::mutable_frame create_frame(const void* tag, const core::pixel_format_desc& desc) override
{
std::vector<array<std::uint8_t>> buffers;
- BOOST_FOREACH(auto& plane, desc.planes)
+ for (auto& plane : desc.planes)
buffers.push_back(ogl_->create_array(plane.size));
return core::mutable_frame(std::move(buffers), core::audio_buffer(), tag, desc);
#include <common/gl/gl_check.h>
#include <common/os/windows/windows.h>
-#include <boost/foreach.hpp>
-
#include <gl/glew.h>
#include <SFML/Window/Context.hpp>
#include <tbb/concurrent_queue.h>
-#include <boost/foreach.hpp>
#include <boost/thread/mutex.hpp>
#include "semaphore.h"
, elements_available_(0u)
, capacity_(capacity)
{
- BOOST_FOREACH(Prio priority, priorities)
+ for (Prio priority : priorities)
{
queues_by_priority_.insert(std::make_pair(priority, tbb::concurrent_queue<T>()));
}
acquire_transaction transaction(elements_available_, true);
- BOOST_FOREACH(auto& queue, queues_by_priority_)
+ for (auto& queue : queues_by_priority_)
{
if (queue.first < minimum_priority)
{
void pop_acquired_any_priority(T& element, acquire_transaction& transaction)
{
- BOOST_FOREACH(auto& queue, queues_by_priority_)
+ for (auto& queue : queues_by_priority_)
{
if (queue.second.try_pop(element))
{
#include <SFML/Graphics.hpp>
-#include <boost/foreach.hpp>
#include <boost/optional.hpp>
#include <boost/circular_buffer.hpp>
#include <boost/range/algorithm_ext/erase.hpp>
#include <boost/filesystem/convenience.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/algorithm/string.hpp>
-#include <boost/foreach.hpp>
#include <boost/log/core.hpp>
#include <boost/log/trivial.hpp>
#include <cstdint>
#include <boost/thread.hpp>
-#include <boost/foreach.hpp>
#include <boost/range/adaptor/map.hpp>
#include <boost/range/algorithm/copy.hpp>
#include <boost/filesystem/fstream.hpp>
if ((events_mask_ & MODIFIED) == 0)
return;
- BOOST_FOREACH(auto& file, files_)
+ for (auto& file : files_)
handler_(MODIFIED, file.first);
}
removed_files.erase(path);
}
- BOOST_FOREACH(auto& path, removed_files)
+ for (auto& path : removed_files)
{
files_.erase(path);
being_written_sizes_.erase(path);
#include <boost/circular_buffer.hpp>
#include <boost/timer.hpp>
#include <boost/filesystem.hpp>
-#include <boost/foreach.hpp>
#include <boost/range.hpp>
#include <boost/range/adaptors.hpp>
#include <boost/range/algorithm.hpp>
return std::move(executor_.begin_invoke([&]() -> boost::property_tree::wptree
{
boost::property_tree::wptree info;
- BOOST_FOREACH(auto& port, ports_)
+ for (auto& port : ports_)
{
info.add_child(L"consumers.consumer", port.second.info())
.add(L"index", port.first);
#include "frame_transform.h"
-#include <boost/foreach.hpp>
-
namespace caspar { namespace core {
enum tags
}
else
{
- BOOST_FOREACH(auto frame, frames_)
+ for (auto& frame : frames_)
frame.accept(visitor);
}
visitor.pop();
, tag_(tag)
, geometry_(frame_geometry::get_default())
{
- BOOST_FOREACH(auto& buffer, buffers_)
+ for (auto& buffer : buffers_)
if(!buffer.data())
CASPAR_THROW_EXCEPTION(invalid_argument() << msg_info("mutable_frame: null argument"));
}
std::map<const void*, audio_stream> next_audio_streams;
std::vector<const void*> used_tags;
- BOOST_FOREACH(auto& item, items_)
+ for (auto& item : items_)
{
audio_buffer_ps next_audio;
}
std::vector<float> result_ps(audio_size(audio_cadence_.front()), 0.0f);
- BOOST_FOREACH(auto& stream, audio_streams_ | boost::adaptors::map_values)
+ for (auto& stream : audio_streams_ | boost::adaptors::map_values)
{
if(stream.audio_data.size() < result_ps.size())
stream.audio_data.resize(result_ps.size(), 0.0f);
#include <core/frame/pixel_format.h>
#include <core/video_format.h>
-#include <boost/foreach.hpp>
#include <boost/timer.hpp>
#include <boost/property_tree/ptree.hpp>
#include <boost/range/algorithm_ext.hpp>
{
try
{
- BOOST_FOREACH(auto& frame, frames)
+ for (auto& frame : frames)
{
auto blend_it = blend_modes_.find(frame.first);
image_mixer_->begin_layer(blend_it != blend_modes_.end() ? blend_it->second : blend_mode::normal);
#include <type_traits>
#include <boost/lexical_cast.hpp>
-#include <boost/foreach.hpp>
namespace caspar { namespace core {
bool depends_on(const std::shared_ptr<impl_base>& other) const
{
- BOOST_FOREACH(auto& dependency, dependencies_)
+ for (auto& dependency : dependencies_)
{
if (dependency == other)
return true;
if(producer == frame_producer::empty())
{
std::wstring str;
- BOOST_FOREACH(auto& param, params)
+ for (auto& param : params)
str += param + L" ";
CASPAR_THROW_EXCEPTION(file_not_found() << msg_info("No match found for supplied commands. Check syntax.") << arg_value_info(u8(str)));
}
draw_frame render_frame()
{
- BOOST_FOREACH(auto& timeline, timelines_)
+ for (auto& timeline : timelines_)
timeline.second.on_frame(frame_number_.get());
std::vector<draw_frame> frames;
- BOOST_FOREACH(auto& layer, layers_)
+ for (auto& layer : layers_)
{
if (layer.hidden.get())
continue;
boost::optional<interaction_target> collission_detect(double x, double y) const
{
- BOOST_FOREACH(auto& layer, layers_ | boost::adaptors::reversed)
+ for (auto& layer : layers_ | boost::adaptors::reversed)
{
if (layer.hidden.get())
continue;
auto scene = spl::make_shared<scene_producer>(width, height);
- BOOST_FOREACH(auto elem, root.get_child(L"scene.variables"))
+ for (auto elem : root.get_child(L"scene.variables"))
{
auto type = elem.second.get<std::wstring>(L"<xmlattr>.type");
auto id = elem.second.get<std::wstring>(L"<xmlattr>.id");
scene->create_variable<bool>(id, is_public, expr);
}
- BOOST_FOREACH(auto elem, root.get_child(L"scene.layers"))
+ for (auto& elem : root.get_child(L"scene.layers"))
{
auto id = elem.second.get<std::wstring>(L"<xmlattr>.id");
auto producer = create_producer(frame_factory, format_desc, elem.second.get<std::wstring>(L"producer"));
scene->create_variable<double>(variable_prefix + L"width", false) = layer.producer.get()->pixel_constraints().width;
scene->create_variable<double>(variable_prefix + L"height", false) = layer.producer.get()->pixel_constraints().height;
- BOOST_FOREACH(auto& var_name, producer->get_variables())
+ for (auto& var_name : producer->get_variables())
{
auto& var = producer->get_variable(var_name);
auto expr = elem.second.get<std::wstring>(L"parameters." + var_name, L"");
}
}
- BOOST_FOREACH(auto& elem, root.get_child(L"scene.timelines"))
+ for (auto& elem : root.get_child(L"scene.timelines"))
{
auto& variable = scene->get_variable(elem.second.get<std::wstring>(L"<xmlattr>.variable"));
- BOOST_FOREACH(auto& k, elem.second)
+ for (auto& k : elem.second)
{
if (k.first == L"<xmlattr>")
continue;
return scene->get_variable(name);
};
- BOOST_FOREACH(auto& var_name, scene->get_variables())
+ for (auto& var_name : scene->get_variables())
{
deduce_expression(scene->get_variable(var_name), repo);
}
#include <core/frame/frame_transform.h>
-#include <boost/foreach.hpp>
#include <boost/timer.hpp>
#include <boost/property_tree/ptree.hpp>
#include <boost/range/algorithm_ext.hpp>
{
std::vector<int> indices;
- BOOST_FOREACH(auto& layer, layers_)
+ for (auto& layer : layers_)
{
frames[layer.first] = draw_frame::empty();
indices.push_back(layer.first);
{
return executor_.begin_invoke([=]
{
- BOOST_FOREACH(auto& transform, transforms)
+ for (auto& transform : transforms)
{
auto src = tweens_[std::get<0>(transform)].fetch();
auto dst = std::get<1>(transform)(src);
auto layers = layers_ | boost::adaptors::map_values;
auto other_layers = other_impl->layers_ | boost::adaptors::map_values;
- BOOST_FOREACH(auto& layer, layers)
+ for (auto& layer : layers)
layer.monitor_output().detach_parent();
- BOOST_FOREACH(auto& layer, other_layers)
+ for (auto& layer : other_layers)
layer.monitor_output().detach_parent();
std::swap(layers_, other_impl->layers_);
- BOOST_FOREACH(auto& layer, layers)
+ for (auto& layer : layers)
layer.monitor_output().attach_parent(monitor_subject_);
- BOOST_FOREACH(auto& layer, other_layers)
+ for (auto& layer : other_layers)
layer.monitor_output().attach_parent(monitor_subject_);
};
return executor_.begin_invoke([this]() -> boost::property_tree::wptree
{
boost::property_tree::wptree info;
- BOOST_FOREACH(auto& layer, layers_)
+ for (auto& layer : layers_)
info.add_child(L"layers.layer", layer.second.info())
.add(L"index", layer.first);
return info;
boost::optional<interaction_target> collission_detect(double x, double y)
{
- BOOST_FOREACH(auto& layer, layers_ | boost::adaptors::reversed)
+ for (auto& layer : layers_ | boost::adaptors::reversed)
{
auto transform = tweens_[layer.first].fetch();
auto translated = translate(x, y, transform);
#include <boost/circular_buffer.hpp>
#include <boost/timer.hpp>
#include <boost/filesystem.hpp>
-#include <boost/foreach.hpp>
#include <boost/range.hpp>
#include <boost/range/algorithm.hpp>
#include <boost/property_tree/ptree.hpp>
#include <tbb/concurrent_queue.h>
#include <boost/algorithm/string.hpp>
-#include <boost/foreach.hpp>
#include <boost/property_tree/ptree.hpp>
#include <boost/timer.hpp>
#include <boost/algorithm/string/case_conv.hpp>
#include <boost/algorithm/string/predicate.hpp>
#include <boost/filesystem.hpp>
-#include <boost/foreach.hpp>
#include <boost/lexical_cast.hpp>
#include <boost/noncopyable.hpp>
#include <boost/property_tree/ptree.hpp>
if(options.size() > 0)
{
- BOOST_FOREACH(auto& option, options)
+ for (auto& option : options)
CASPAR_LOG(warning) << L"Invalid option: -" << u16(option.name) << L" " << u16(option.value);
}
#include <boost/algorithm/string.hpp>
#include <common/assert.h>
#include <boost/timer.hpp>
-#include <boost/foreach.hpp>
#include <boost/filesystem.hpp>
#include <boost/range/algorithm/find_if.hpp>
#include <boost/range/algorithm/find.hpp>
#include <boost/range/iterator_range.hpp>
#include <boost/range/adaptors.hpp>
#include <boost/algorithm/string.hpp>
-#include <boost/foreach.hpp>
#include <boost/thread.hpp>
#include <boost/format.hpp>
#include <boost/rational.hpp>
#endif
#include <common/assert.h>
-#include <boost/foreach.hpp>
#include <boost/range/algorithm_ext/push_back.hpp>
#include <boost/algorithm/string/predicate.hpp>
update_display_mode(video);
filter_->push(video);
- BOOST_FOREACH(auto& av_frame, filter_->poll_all())
+ for (auto& av_frame : filter_->poll_all())
video_stream_.push(make_frame(this, av_frame, format_desc_.fps, *frame_factory_));
}
#include <tbb/parallel_for.h>
#include <tbb/tbb_thread.h>
-#include <boost/foreach.hpp>
-
#if defined(_MSC_VER)
#pragma warning (push)
#pragma warning (disable : 4244)
tbb::parallel_for(0, MAX_THREADS, [&](int n)
{
- BOOST_FOREACH(auto k, jobs[n])
+ for (auto k : jobs[n])
{
int r = func(s, arg, k, n);
if(ret)
#include <tbb/concurrent_queue.h>
#include <boost/filesystem.hpp>
-#include <boost/foreach.hpp>
#include <boost/range/algorithm.hpp>
#include <boost/format.hpp>
#include <boost/algorithm/string.hpp>
try
{
std::vector<template_host> template_hosts;
- BOOST_FOREACH(auto& xml_mapping, env::properties().get_child(L"configuration.template-hosts"))
+ for (auto& xml_mapping : env::properties().get_child(L"configuration.template-hosts"))
{
try
{
#include <boost/filesystem.hpp>
#include <boost/property_tree/ptree.hpp>
#include <boost/algorithm/string.hpp>
-#include <boost/foreach.hpp>
#include <algorithm>
#include <set>
std::vector<core::draw_frame> frames;
frames.reserve(files.size());
- BOOST_FOREACH(auto& file, files)
+ for (auto& file : files)
{
auto frame = load_image(frame_factory, file);
#include <common/param.h>
#include <boost/filesystem.hpp>
-#include <boost/foreach.hpp>
#include <boost/lexical_cast.hpp>
#include <boost/property_tree/ptree.hpp>
#include <boost/scoped_array.hpp>
std::vector<core::draw_frame> result;
result.reserve(frames_.size());
- BOOST_FOREACH(auto& frame, frames_)
+ for (auto& frame : frames_)
{
auto& fill_translation = frame.transform().image_transform.fill_translation;
#include <cmath>
#include <cstdint>
-#include <boost/foreach.hpp>
namespace caspar { namespace image {
#include <boost/lexical_cast.hpp>
#include <boost/property_tree/ptree.hpp>
#include <boost/timer.hpp>
-#include <boost/foreach.hpp>
#include <boost/thread/once.hpp>
#include <tbb/concurrent_queue.h>
alDeleteSources(1, &source_);
}
- BOOST_FOREACH(auto& buffer, buffers_)
+ for (auto& buffer : buffers_)
{
if(buffer)
alDeleteBuffers(1, &buffer);
#include <common/log.h>
#include <boost/filesystem.hpp>
-#include <boost/foreach.hpp>
#include <boost/thread/future.hpp>
#include <boost/algorithm/string.hpp>
#include <boost/rational.hpp>
{
auto& master = (*it);
//std::for_each(layers.begin(), layers.end(), [&master](linked_layer_record &r) mutable {
- BOOST_FOREACH(auto &r, layers) {
+ for (auto &r : layers) {
if(r.link_id == master.link_id && r.layer != master.layer)
{
{ //x-coords
double original_pos_x = psd_layer->location().x;
double original_pos_y = psd_layer->location().y;
- BOOST_FOREACH(auto& track, *tracklist)
+ for (auto& track : *tracklist)
{
auto track_id = track.second.get<std::wstring>(L"stdTrackID");
if (track_id == L"sheetPositionTrack")
{
- BOOST_FOREACH(auto& key, track.second.get_child(L"keyList"))
+ for (auto& key : track.second.get_child(L"keyList"))
{
bool tween = key.second.get<std::wstring>(L"animInterpStyle")
== L"Lnr ";
{
auto& opacity = layer.adjustments.opacity;
- BOOST_FOREACH(auto& key, track.second.get_child(L"keyList"))
+ for (auto& key : track.second.get_child(L"keyList"))
{
bool tween = key.second.get<std::wstring>(L"animInterpStyle")
== L"Lnr ";
link_constructor.calculate();
// Reset all dynamic text fields to empty strings and expose them as a scene parameter.
- BOOST_FOREACH(auto& text_layer, text_producers_by_layer_name)
+ for (auto& text_layer : text_producers_by_layer_name)
text_layer.second->text().bind(root->create_variable<std::wstring>(boost::to_lower_copy(text_layer.first), true, L""));
auto params2 = params;
#include <tbb/concurrent_queue.h>
#include <boost/property_tree/ptree.hpp>
-#include <boost/foreach.hpp>
#include <boost/optional.hpp>
#include <boost/range/algorithm_ext/push_back.hpp>
#include <boost/range/numeric.hpp>
#include <boost/timer.hpp>
#include <boost/circular_buffer.hpp>
#include <boost/lexical_cast.hpp>
-#include <boost/foreach.hpp>
#include <boost/property_tree/ptree.hpp>
#include <boost/thread.hpp>
if(texture_)
glDeleteTextures(1, &texture_);
- BOOST_FOREACH(auto& pbo, pbos_)
+ for (auto& pbo : pbos_)
{
if(pbo)
glDeleteBuffers(1, &pbo);
#include <math.h>
#include <boost/filesystem.hpp>
-#include <boost/foreach.hpp>
#include <boost/range/algorithm.hpp>
#include "../common/utf.h"
self->output().add(screen);
- BOOST_FOREACH(auto channel, channels())
+ for (auto& channel : channels())
{
if(channel.channel != self)
{
try
{
//create_consumer still expects all parameters to be uppercase
- BOOST_FOREACH(std::wstring& str, parameters())
+ for (auto& str : parameters())
{
boost::to_upper(str);
}
if(index == std::numeric_limits<int>::min())
{
//create_consumer still expects all parameters to be uppercase
- BOOST_FOREACH(std::wstring& str, parameters())
+ for (auto& str : parameters())
{
boost::to_upper(str);
}
info.add(L"system.windows.service-pack", caspar::win_sp_version());
info.add(L"system.cpu", caspar::cpu_info());
- BOOST_FOREACH(auto device, caspar::decklink::device_list())
+ for (auto& device : caspar::decklink::device_list())
info.add(L"system.decklink.device", device);
- BOOST_FOREACH(auto device, caspar::bluefish::device_list())
+ for (auto& device : caspar::bluefish::device_list())
info.add(L"system.bluefish.device", device);
info.add(L"system.flash", caspar::flash::version());
boost::property_tree::wptree info;
int index = 0;
- BOOST_FOREACH(auto channel, channels())
+ for (auto& channel : channels())
info.add_child(L"channels.channel", channel.channel->info())
.add(L"index", ++index);
commandQueues_.push_back(std::make_shared<AMCPCommandQueue>());
int index = 0;
- BOOST_FOREACH(const spl::shared_ptr<core::video_channel>& channel, channels)
+ for (const auto& channel : channels)
{
std::wstring lifecycle_key = L"lock" + boost::lexical_cast<std::wstring>(index);
channels_.push_back(channel_context(channel, lifecycle_key));
#include <unordered_map>
#include <boost/asio.hpp>
-#include <boost/foreach.hpp>
#include <boost/bind.hpp>
#include <boost/thread.hpp>
o << ::osc::BeginMessage(e.path().c_str());
param_visitor<decltype(o)> param_visitor(o);
- BOOST_FOREACH(const auto& data, e.data())
+ for (const auto& data : e.data())
boost::apply_visitor(param_visitor, data);
o << ::osc::EndMessage;
{
boost::system::error_code ec;
- BOOST_FOREACH(const auto& endpoint, destinations)
+ for (const auto& endpoint : destinations)
socket_.send_to(buffers, endpoint, 0, ec);
}
{
tbb::spin_mutex::scoped_lock lock(endpoints_mutex_);
- BOOST_FOREACH(const auto& endpoint, reference_counts_by_endpoint_)
+ for (const auto& endpoint : reference_counts_by_endpoint_)
destinations.push_back(endpoint.first);
}
auto datagram_size = bundle_header.size();
buffers.push_back(boost::asio::buffer(bundle_header));
- BOOST_FOREACH(const auto& slot, updates)
+ for (const auto& slot : updates)
{
write_osc_bundle_element_start(element_headers[i], slot.second);
const auto& headers = element_headers;
service_.post([=]
{
auto connections = *connection_set_;
- BOOST_FOREACH(auto& connection, connections)
+ for (auto& connection : connections)
connection->stop();
});
auto conn = connection::create(socket, protocol_factory_, connection_set_);
connection_set_->insert(conn);
- BOOST_FOREACH(auto& lifecycle_factory, lifecycle_factories_)
+ for (auto& lifecycle_factory : lifecycle_factories_)
{
auto lifecycle_bound = lifecycle_factory(conn->ipv4_address());
conn->add_lifecycle_bound_object(lifecycle_bound.first, lifecycle_bound.second);
}
//now we can take our time to inform the clients that their locks have been released.
- BOOST_FOREACH(std::weak_ptr<client_connection<wchar_t>> conn, clients)
+ for (auto& conn : clients)
{
auto ptr = conn.lock();
if(ptr)
#pragma once\r
\r
#include <boost/algorithm/string/split.hpp>\r
-#include <boost/foreach.hpp>\r
\r
#include "protocol_strategy.h"\r
#include "ProtocolStrategy.h"\r
#include <boost/property_tree/detail/file_parser_error.hpp>
#include <boost/property_tree/xml_parser.hpp>
-#include <boost/foreach.hpp>
#include <boost/locale.hpp>
#include <boost/lexical_cast.hpp>
#include <boost/algorithm/string/predicate.hpp>
CASPAR_LOG(info) << system_product_name();
CASPAR_LOG(info) << L"Decklink " << decklink::version();
- BOOST_FOREACH(auto device, decklink::device_list())
- CASPAR_LOG(info) << L" - " << device;
+ for (auto device : decklink::device_list())
+ CASPAR_LOG(info) << L" - " << device;
CASPAR_LOG(info) << L"Bluefish " << bluefish::version();
- BOOST_FOREACH(auto device, bluefish::device_list())
- CASPAR_LOG(info) << L" - " << device;
+ for (auto device : bluefish::device_list())
+ CASPAR_LOG(info) << L" - " << device;
CASPAR_LOG(info) << L"Flash " << flash::version();
CASPAR_LOG(info) << L"FreeImage " << image::version();
#include <boost/algorithm/string.hpp>
#include <boost/thread.hpp>
#include <boost/lexical_cast.hpp>
-#include <boost/foreach.hpp>
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/xml_parser.hpp>
void setup_channels(const boost::property_tree::wptree& pt)
{
using boost::property_tree::wptree;
- BOOST_FOREACH(auto& xml_channel, pt.get_child(L"configuration.channels"))
+ for (auto& xml_channel : pt.get_child(L"configuration.channels"))
{
auto format_desc = video_format_desc(xml_channel.second.get(L"video-mode", L"PAL"));
if(format_desc.format == video_format::invalid)
auto channel = spl::make_shared<video_channel>(static_cast<int>(channels_.size()+1), format_desc, accelerator_.create_image_mixer());
- BOOST_FOREACH(auto& xml_consumer, xml_channel.second.get_child(L"consumers"))
+ for (auto& xml_consumer : xml_channel.second.get_child(L"consumers"))
{
try
{
if (predefined_clients)
{
- BOOST_FOREACH(auto& predefined_client, *predefined_clients)
+ for (auto& predefined_client : *predefined_clients)
{
const auto address =
predefined_client.second.get<std::wstring>(L"address");
void setup_controllers(const boost::property_tree::wptree& pt)
{
using boost::property_tree::wptree;
- BOOST_FOREACH(auto& xml_controller, pt.get_child(L"configuration.controllers"))
+ for (auto& xml_controller : pt.get_child(L"configuration.controllers"))
{
try
{
#include <set>
#include <boost/assign.hpp>
-#include <boost/foreach.hpp>
#include <common/base64.h>
#include <common/except.h>
#include <gtest/gtest.h>
-#include <boost/foreach.hpp>
-
#include <common/tweener.h>
namespace caspar { namespace core {