Sponsored Content
Full Discussion: Template problem ...
Top Forums Programming Template problem ... Post 302239595 by spirtle on Wednesday 24th of September 2008 04:52:56 AM
Old 09-24-2008
You didn't post the code that doesn't work, but I guess that you want to define the method template in a separate file rather than in the definition of the class, as one often does for normal class methods.
Short answer; you can't.

There is, no doubt, a better explanation in a text book somewhere, but here goes...
Templates are not like normal code; you cannot define them where ever you like. When the compiler sees your call to
Code:
int a;
Base_class::fun(a,check);

here is no method with signature
Code:
fun(int, string&);

so it has to create one from the template you supplied. This means that the compiler has to be able to see the both the template (so it knows how to build the function) and the call (so it knows what types to build the function with) at the same time. So the template and the code calling the method must be in the same compilation unit.
You don't have to have the method template defined inline, but you must have it defined where the class is defined.
 

6 More Discussions You Might Find Interesting

1. Programming

About template constraints

Hi, i have class template, 1)can i override the copy constructor 2)can we have virtual function in class template if not plz tel why? I tried , compile error comes for me... Thanks Sarwan (0 Replies)
Discussion started by: sarwan
0 Replies

2. UNIX for Dummies Questions & Answers

vi calling template

Hello. I want to copy temp files when I make a new file by vi. For example, 09:32:52 ~/ $ mkdir test 09:33:03 ~/ $ cd test/ 09:33:09 ~/test/ $ ls 09:33:16 ~/test/ $ vi test.cpp 09:34:37 ~/test/ $ cat test.cpp #include <iostream> int main() { } 09:34:48 ~/test/ $ vi test.bash 09:35:19... (1 Reply)
Discussion started by: Euler04
1 Replies

3. Shell Programming and Scripting

Help with template like solution

hi experts, i'm trying to do this: file1 is a template. might have kinds of 'funny' characters. sample: <body> <form> <p><input type="text" name="abc"/></p> &nbsp; <p><my_content></p> </form> </body> file2 is a file that contains lots of text. this might be very big. might have... (2 Replies)
Discussion started by: xjohnu
2 Replies

4. Programming

C++ template error

I get some compiling errors about template instantiation :wall: , but I can't find where the syntax errors happens. Can some help me? template<typename Type> class SingleList; template<typename Type> class SingleListNode{ private: friend class SingleList<Type>; SingleListNode() :... (1 Reply)
Discussion started by: 915086731
1 Replies

5. Programming

Calling template at once

Hello Again, I am just wanted to know if we can call the Template using "require_once" at PHP? Any views around happy to discuss. Thanks in Advance (2 Replies)
Discussion started by: AimyThomas
2 Replies

6. UNIX for Dummies Questions & Answers

Cacti SNMP Generic OID template, NaN problem

Hello All, I have installed cacti and I have Nan values on created graph. I really appreciate any help. I have done the following: 1. Linux Ubuntu 12.04.2 LTS 64 bits 2. apt-get install cacti // the cacti Version 0.8.7i was installed 3. Accessed "http://MyIP/cacti/index.php" 4. Set SNMP... (0 Replies)
Discussion started by: AndreiM
0 Replies
Dancer::Template::TemplateToolkit(3pm)			User Contributed Perl Documentation		    Dancer::Template::TemplateToolkit(3pm)

NAME
Dancer::Template::TemplateToolkit - Template Toolkit wrapper for Dancer DESCRIPTION
This class is an interface between Dancer's template engine abstraction layer and the Template module. This template engine is recomended for production purposes, but depends on the Template module. In order to use this engine, use the template setting: template: template_toolkit This can be done in your config.yml file or directly in your app code with the set keyword. Note that by default, Dancer configures the Template::Toolkit engine to use <% %> brackets instead of its default [% %] brackets. This can be changed within your config file - for example: template: template_toolkit engines: template_toolkit: start_tag: '[%' stop_tag: '%]' You can also add any options you would normally add to the Template module's initialization. You could, for instance, enable saving the compiled templates: engines: template_toolkit: COMPILE_DIR: 'caches/templates' COMPILE_EXT: '.ttc' By default, Template is used, but you can configure Dancer to use a subclass with the "subclass" option. engines: template_toolkit: subclass: My::Template WRAPPER, META variables, SETs Dancer already provides a WRAPPER-like ability, which we call a "layout". The reason we do not use TT's WRAPPER (which also makes it incompatible with it) is because not all template systems support it. Actually, most don't. However, you might want to use it, and be able to define META variables and regular Template::Toolkit variables. These few steps will get you there: o Disable the layout in Dancer You can do this by simply commenting (or removing) the "layout" configuration in the config.yml file. o Use Template Toolkit template engine Change the configuration of the template to Template Toolkit: # in config.yml template: "template_toolkit" o Tell the Template Toolkit engine who's your wrapper # in config.yml # ... engines: template_toolkit: WRAPPER: layouts/main.tt Done! Everything will work fine out of the box, including variables and META variables. SEE ALSO
Dancer, Template AUTHOR
This module has been written by Alexis Sukrieh LICENSE
This module is free software and is released under the same terms as Perl itself. perl v5.14.2 2012-01-27 Dancer::Template::TemplateToolkit(3pm)
All times are GMT -4. The time now is 10:32 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy