C++ :: Writing Custom Allocator - Throws Exception

Mar 4, 2012

Does the requirements have changed for writing custom allocators with C++ 0x11?

A custom allocator (that uses a fixed array as its memory pool) that I have been using successfully for some time, now throws an exception!

It runs fine under VS2008 but bombs out with VS2010.

View 14 Replies


ADVERTISEMENT

C++ :: Shared Library Throws Exception But Not Caught

Jan 10, 2013

A test program of mine loads a shared library (.so file). A function call in the shared library throws an exception that I am trying to catch in the main function of my test program. (I know that exception is being thrown for sure, I wrote the library to do that.)

However in the main program, the exception is not being caught. The flow of program goes past the catch block like no error has occurred. I am using g++ and I load the shared file using -l option. Only trying to load the program statically I got the following error:

/usr/bin/ld: cannot find -lmy-shared-library
collect2: ld returned 1 exit status

Why the exception is not getting caught.

View 9 Replies View Related

C++ :: Smart Array Class - Constructor Throws Wrong Exception

Jan 24, 2014

Writing a smart array class for my C++ class. I'm running into a problem where the constructor apparently throws the wrong exception. Compiled on G++ with C++11 extensions enabled.

Code:
// headers
#include <iostream>
#include <utility>
#include <cctype>
// stuff we need from namespace std
using std::cout;
using std::cin;

[Code] .....

When I try to check the error-handling code, when I enter a size less then two, Array's ctor throws InvalidSize, and gets caught, all good. But when I enter a letter, the ctor also seems to throw InvalidSize!

View 14 Replies View Related

C++ :: How To Build A Custom Allocator

Feb 7, 2014

I'm trying to write a custom allocator that I can use with the STL. Here's what I have so far :

Code:
#include <cstddef>
#include <iostream>
#include <memory>
#include <vector>
template<class T>
struct customallocator {

[Code].....

I'm doing and currently, my push_back doesn't seem to do anything.

View 12 Replies View Related

C++ :: Custom Dynamic Array Class And Allocator

May 10, 2014

I attempted to create a dynamic array class for use in my engine (due to problems regarding a dll-interface with the standard library), so I tried at making a standard-compatible allocator template class first. After I "finished" that, I went on to work on the dynamic array class itself.So I finish the dynamic array class, and test it with the standard allocator. It works perfectly, but when I test it with my custom allocator class, it fails terribly.

To make sure it wasn't my DynamicArray class that was causing issues, I tried using the custom allocator on the std::vector class template, and it didn't work either. IMy DynamicArray class code:

// Represents a dynamic array, similar to the standard library's "vector" class.
template<typename T, typename A>
class DynamicArray
{
public:
DynamicArray() :
data(nullptr),
elements(0),
capacity(0)

[code].....

The "Request" and "Free" functions are my engine's equivalent of malloc and free (or new and delete). I allocate a large buffer (16 mb), and through those functions I distribute the memory to where it's needed.

View 9 Replies View Related

C++ :: Writing A Program That Requires Exception Handling

Nov 24, 2013

writing a program that requires exception handling. if an error occurs, i what the program to go back to the begging of the loop. i tried using break but that just makes the program crash when it receives a bad input. how do i do this? this is what i have so far (this part of the program any ways)

while (! quit)
{
// Output phone book menu
cout << endl

[Code].....

View 1 Replies View Related

C++ :: Writing A Custom Filesystem Format?

Apr 12, 2012

How do you write your own Filesystem/Format?

I've always wanted to know how to write my own system for the learning experience. I've worked on simple ones that read from a flatfile of a defined size, but never one that was on a fully formatted drive.

Where do I start? Are there any examples/tutorials?

View 10 Replies View Related

C/C++ :: Direct X Tool Kit Throws Errors When Loaded In

Oct 21, 2014

I have a project which I started. then tried to add the directx toolkit to the project referenced it but now my program wont load.

View 1 Replies View Related

C++ :: Use TBB Scalable And STL Allocator Together

May 22, 2014

I have a matrix class who use the stl vector to manage its

memory(UInt is typedef of size_t):
class Mtrx {
protected:

[Code]....

However, the two different classes are only different with each other on the allocator. I am thinking, that a elegant way should be merging them together.

View 1 Replies View Related

C++ :: Relation Between A Container And Allocator

Mar 30, 2014

To my understanding, a Container should have an Allocator member data, which is used internally.

Question: what happens, for example, when we swap() two containers that use different allocators?

Must the allocators be swapped as well?

Must all elements of the container be reallocated when the allocator is changed?

View 7 Replies View Related

C++ :: Relation Between Allocator And NodeAllocator In A Container?

Mar 31, 2014

Consider a singly-linked list container.

Being constructed with an alloc<T>, it will rebind it as alloc<node<T>> for internal use.

Question: is allocator_type the same as alloc<T> or as alloc<node<T>>?

View 2 Replies View Related

C++ :: Rebinding Allocator For The Nodes Of Linked List?

Mar 27, 2014

I am coding a singly-linked list container. Of course, internally it uses Node<T>.

Question: what is the correct way to use the allocator given by the user? I ask, because I've read this on the rival C++ Reference:

std::list<T, A> allocates nodes of some internal type Node<T>, using the allocator std::allocator_traits<A>::rebind_alloc<Node<T>>, which is implemented in terms of A::rebind<Node<T>>::other if A is an std::allocator

[URL]...

The above doesn't seem right to do, because then what should pointer and const_pointer be?

using pointer = std::allocator_traits<Alloc>::pointer;
using const_pointer = std::allocator_traits<Alloc>::const_pointer;
// but we're using Alloc<Node<T>> not Alloc<T>
// so maybe do this?
using pointer = value_type *;
using const_pointer = const value_type *;

View 6 Replies View Related

C++ :: Exception Seems To Materialize Out Of Nowhere

Jan 30, 2014

My perceptron's train function seems to materialize my BadInput exception object out of nowhere. Yet, everything works fine.

And when I put an forever loop in main to validate the output with many different inputs, I get a bad_alloc exception and a call to terminate().

BadInput.hpp

Code:
#ifndef BADINPUT_HPP
#define BADINPUT_HPP
class BadInput {
public:
BadInput(int val):difference(val) {

[Code] ....

I cannot figure out why train() is throwing an exception...feedforward didn't, as it's error message never printed.

View 3 Replies View Related

C++ ::  Invalid Read On Exception

Feb 14, 2013

I catch an exception and want to log it on the console. This works as exepcted, but Valgrind shows me a set of invalid reads.

Here the code of the catch-block:

} catch(HGL::IOException &e) {
logError(e);
}

The signature of the logDebug is: BasicLogger &operator<<(const std::exception &e);

Now valgrind shows me 4 errors like that:

==20943== Invalid read of size 1
==20943== at 0x402C658: strlen (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==20943== by 0x41554DD: std::basic_ostream<wchar_t, std::char_traits<wchar_t> >& std::operator<< <wchar_t, std::char_traits<wchar_t> >(std::basic_ostream<wchar_t, std::char_traits<wchar_t> >&, char const*) (in /usr/lib/i386-linux-gnu/libstdc++.so.6.0.16)

[Code] .....

Generally I dislike invalid read in my code, even if they are harmless like in that case.

If I don't pass a reference, but a copy of the exception, I don't get this invalid reads, but also loose all information, because of the implicit upcasting.

Why I get the illegal read, resp. why std::wstring is deleting it on the way to the <<-operator?

View 7 Replies View Related

C++ :: How Exception Handling Works

Oct 25, 2014

I know how exception handling works, but how should I actually use it in action? Let's say I have something like this:

Class X
{
public:
X();
//Pre-condition: example can't be 3.
void number(int example);

[code]......

If I know that the exception can only happen at the beginning of the function, is it okay to catch it right away?

View 7 Replies View Related

C++ :: Vector Out Of Range Exception

Jul 18, 2014

I'm trying to do some operator overloading, the function is supposed to add the values at index [i] of two vectors and place the result in the returning vector. The problem is I keep getting a vector out of range. This is the overloaded operator I'm working with (relatively new to these):

vector<float> operator+(const vector<float>& a, const vector<float>& b){
unsigned long size;
vector<float> temp;
if(a.size() >= b.size())
size = a.size();

[Code] .....

and then I would do something like this in the main:

vector<float> v, v1, v2;

v1.push_back(9.1);
...
v2.push_back(8);
...
v = v1 + v2;

but when I try to output the vector v I just get a vector out of range exception.

View 5 Replies View Related

C++ :: Can't Throw Exception In Template

Feb 24, 2013

I'm making an "improved" array for my programing class. It's currently unfinished, so you might see some commented out code. I'm trying to debug what I have.

I keep getting these errors when I try to complile my main.cpp:

In file included from main.cpp:3:0:

array.h:107:43: error: expected type-specifier before ‘out_of_range’
array.h:107:43: error: expected ‘)’ before ‘out_of_range’
array.h:107:43: error: expected initializer before ‘out_of_range’
array.h:121:55: error: expected type-specifier before ‘out_of_range’
array.h:121:55: error: expected ‘)’ before ‘out_of_range’
array.h:121:55: error: expected initializer before ‘out_of_range’

My main file:

#include <iostream>
#include <stdexcept>
#include "array.h"
using namespace std;
using namespace ArrayNameSpace;
int main()
{
Array<int> testSubject(5);
return 0;
}//End main

aannnd my Array.h file:

//ADD CONSTS TO METHODS
//CURRENTLY WORKING ON EXCEPTIONS AND BRACKET[] OVERLOADS. I HAVE TO FIGURE OUT SOLUTIONS FOR REACHING
//INDEXES FOR CHARS AND ENUMS
#ifndef __array_H__
#define __array_H__
#include <stdexcept>
namespace ArrayNameSpace
{

[code]....

View 3 Replies View Related

C++ :: Unhandled Exception At 0x0f85d442

Sep 21, 2013

I have been assigned to create a search function in text file, but I received this error when I run the program and try to search: Error message: Unhandled exception at 0x0f85d442 (msvcr100d.dll) in Ticket.exe: 0xC0000005: Access violation reading location 0xcccccd08.

I don't know what is the exactly problem. So I just copy everything and paste here. Please don't fear of these codes, I have 2 files only, but I will paste 3 files here, the one is prototypes.h, then the main.cpp, the last one is part of my function that can working well alone, but when I put them into main.cpp I will get the error message like I mentioned before.

View 1 Replies View Related

C/C++ :: Exception Handling Program

Feb 17, 2015

write a program as described below: program that reads in two integers (age, social security number). You should write functions that throw an out-of-range exception forage (no negative numbers)SSN (must be a 9-digit integer) My code is written below:

#include "std_lib_facilities_4.h"
int main(){
int age = 0;
int ssn = 0;

[Code].....

View 8 Replies View Related

C/C++ :: How To Handle Exception In Constructor

Apr 14, 2012

If a class A contains an array of objects of another class B.. And in the constructor of A, while constructing objects of B, any one object throws an exception, then how can we guarantee to release all the memory acquired.. so that there is no memory leak..

class B{};
class A{
public:
  B Array[100];
  ...
};  

In the above code, if in constructor of A, suppose 99 objects of B are constructed successfully, but 100th object throws exception, then how can we guarantee to release all the memory acquired by the other 99 objects?

View 1 Replies View Related

C++ :: Boost Filesystem Exception

Mar 12, 2014

I have one problem deleting a file with boost. The file is opened in another application and cannot be deleted. I am supposed to received an exception error but I don't get it.

Here is my piece of code, very simple:

bool delete_file(const string &path) {
boost::filesystem::path bpath(path);
try {
if (boost::filesystem::remove(bath)) return true;

[Code] ....

I have put a breakpoint inside the catch part but it does not come to this point. Instead, the the output window of visual studio, I got these lines:

First-chance exception at 0x00007FFD2E575A88 in site_server.exe: Microsoft C++ exception: boost::filesystem::filesystem_error at memory location 0x00000070F8E3E920.
Unhandled exception at at 0x00007FFD2E575A88 in site_server.exe: Microsoft C++ exception: boost::filesystem::filesystem_error at memory location 0x00000070F8E3E920.

How to manage this situation?

View 1 Replies View Related

C++ :: Getting Unhandled Exception When Try To Run Option 3

Sep 9, 2012

I'm getting Unhandled exception when try to run option 3.

This my code below.

Code:
#include <iostream>
#include <string>
using namespace std;
struct Vet {
string name;
int numOfAnimals;
string phoneNum;

[code]....

View 8 Replies View Related

C++ :: Handling More Than One Exception At A Time

Feb 12, 2015

It is advisable not to throw the exception from destructor. Because if exception happens stack unwinding happens. suppose the destructor again throws the exception then on part of first exception again one exception is thrown and exceptions can not be handled at same time. This is what i read from stack over flow.

View 10 Replies View Related

C++ :: Exception Handling Object?

Jun 9, 2012

I'm out of track how to realize one point in exercise condition wording :

Give the OutOfBoundsException class a constructor with an int as argument that indicates the erroneous array index and store it in a data member.

How should I change the code below .

Code:
//array.h
#ifndef Array_H
#define Array_H
#include "point.h"
#include <string>
using namespace std;
class Array {
private:
Point* m_data; // Dynamic Array of Point pointers

[code]....

View 5 Replies View Related

C++ :: Operator Overloading And Exception Handling

Nov 15, 2013

I have a date class and i overloaded operator >> to accept input in dd/mm/yyyy format. if i enter the wrong date format my program will crash. How do i do exception handling for this? How should i do the try part? and for catch, I'll just catch a date class variable?

Code:
void operator >> (istream &is, clsDate &date) {
string inputDate;
is >> inputDate;
int mm = stringToNumber(inputDate.substr(3,2)); // read 2 characters from character number 3 start
int dd = stringToNumber(inputDate.substr(0,2)); // read 2 characters from character number 0 start
int yy = stringToNumber(inputDate.substr(6,4)); // read 4 characters from character number 6 start

[Code] .....

View 2 Replies View Related

C++ :: How To Clear Exception Mask For A File

Feb 12, 2015

When creating an exception mask for a file, should an exception throw during a file operation, I can reset the state bits of the actual file using ios::clear().

Though after doing so, will the exception mask still throw an exception, thinking that the specified error state flags are still set to true? If so, how can I reset the exception mask so that it is ready to throw more exceptions should the appropriate situations arise in the future?

View 2 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved