[prev in list] [next in list] [prev in thread] [next in thread] 

List:       lyx-devel
Subject:    Re: C++ question
From:       Angus Leeming <leeming () lyx ! org>
Date:       2003-09-24 14:13:39
[Download RAW message or body]

On Wednesday 24 September 2003 1:44 pm, Andre Poenitz wrote:
> On Wed, Sep 24, 2003 at 02:29:44PM +0000, Angus Leeming wrote:
> > Which doesn't help us much...
>
> What why do you need that vector?

I guess I don't ;-)
Angus

namespace {

template <typename T, typename Enum>
void clearIfNotFound(T & data, Enum value, vector<Enum> const & ids)
{
	typename vector<Enum>::const_iterator it  = ids.begin();
	typename vector<Enum>::const_iterator end = ids.end();

	it = std::find(it, end, value);
	if (it == end)
		data = T();
}

} // namespace anon


void InsetExternal::Params::settemplate(string const & name)
{
	templatename_ = name;
	ExternalTemplateManager & etm = ExternalTemplateManager::get();
	ExternalTemplate const * et = etm.getTemplateByName(name);

	if (!et)
		// Be safe. Don't lose data.
		return;

	// Ascertain which transforms the template supports.
	// Empty all those that it doesn't.
	clearIfNotFound(rotationdata, ExternalTemplate::Rotate, et->transformIds);
// 	clearIfNotFound(resizedata,   ExternalTemplate::Resize, et->transformIds);
// 	clearIfNotFound(clipdata,     ExternalTemplate::Clip,   et->transformIds);
	clearIfNotFound(extradata_,   ExternalTemplate::Extra,  et->transformIds);
}


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic