Enumeration with Circular Buffer

Hi, im having trouble with the enumeration of Circular Buffer .
I had compilation errors with the Ring Buffer Class, it keeps pointing to public Enumeration elements () {return new RingBufferEnumeration(this);}
Any advice ? Thanks
This is the RingBufferEnumeration Class code
public class RingBufferEnumeration implements Enumeration {
private RingBufferNode firstFree, firstFilled;
     public RingBufferEnumeration(RingBufferNode a) {
          firstFree = new RingBufferNode(a);
          firstFilled = firstFree;
          firstFree.next = firstFree;
public boolean hasMoreElements(){
  return firstFilled != firstFree;
public Object nextElement () {
return firstFilled= firstFilled.next;
}this is the Ring Buffer Code
public class RingBufferQueue implements Queue {
      * initialize an empty ring buffer queue
     public RingBufferQueue () {
          firstFree = new RingBufferNode(firstFilled);
          firstFilled = firstFree;
          firstFree.next = firstFree;
     private RingBufferNode firstFree, firstFilled;
      * Determines whether the collection is empty
      * @return true if the collection is empty
     public boolean isEmpty() { return firstFilled == firstFree; }
      * Determines number of elements in collection
      * @return number of elements in collection as integer
     public int size () {
          int count = 0;
          RingBufferNode p = firstFilled;
          for (; p != firstFree; p = p.next) count++;
          return count;
      * Yields enumerator for collection
      * @return an <code>Enumeration</code> that will yield the elements of the collection
      * @see java.util.Enumeration
     public Enumeration elements () {return new RingBufferEnumeration(this);}
      * add a new value to end of the collection
      * @param value element to be inserted into collection
     public synchronized void addLast (Object val) {
          if (firstFree.next == firstFilled)
               firstFree.next = new RingBufferNode(firstFree.next);
          firstFree.value = val;
          firstFree = firstFree.next;
      * access the first value in collection
      * @return element at front of collection
      * @exception java.util.NoSuchElementException no matching value
     public Object getFirst () {
          if (firstFilled == firstFree) throw new NoSuchElementException();
          return firstFilled.value; }
      * remove first value in collection
      * @exception java.util.NoSuchElementException no matching value
     public synchronized void removeFirst () {
          if (firstFilled == firstFree) throw new NoSuchElementException();
          firstFilled = firstFilled.next;
class RingBufferNode {
     public Object value;
     public RingBufferNode next;
     public RingBufferNode (RingBufferNode n)
          { next = n; }
}

im not sure is it a RingBufferNode but, im sure it is not indexed data for ring Buffer
My IndexDeque is working correctly
public Enumeration elements () { return new IndexedEnumeration(this); }IndexedEnumeration
public class IndexedEnumeration implements Enumeration {
      * initialize newly created IndexedEnumeration
      * @param d collection to enumerate over
     public IndexedEnumeration (Indexed d) { data = d; }
     private Indexed data;
     private int index = 0;
      * see if enumeration should continue
      * @return true if enumeration has at least one more element
     public boolean hasMoreElements () { return index < data.size(); }
      * get next element in enumeration
      * @return value of next element in enumeration
     public Object nextElement () { return data.elementAt(index++); }
}

Similar Messages

  • Problem with circular buffer

    Hi,
    For some reason, whenever my circular buffer is filled and wraps around, right at that moment, my graph screws up for a split second by drawing a line across the graph. But for some reason, this doesn't happen all the time, only sometimes.
    The picture is below:
    Attachments:
    graph jump.JPG ‏105 KB

    Sorry, made a new thread since that one showed "Solved".
    It seems the buffer works fine, something is wrong with the data being inserted in there. I don't know why it only messes up with that data.
    I managed to capture some messed u p data. I will post it below. 
    Message Edited by Bilal_J on 04-12-2010 02:46 PM
    Attachments:
    Circular Buffer Debug.vi ‏17 KB
    Circular Buffer.vi ‏39 KB
    Circular Buffer Action Enum Typedef.ctl ‏5 KB

  • Circular buffer error with DIO32HS

    Hello,
    I am using a DIO32HS in pattern buffered I/O with external clock in Labview and in Visual C.
    I lose a sample when the circular buffer has wrapped the first time. It is always the 17th sample after a full buffer. If I change the buffer size, it moves along.
    I tested it in Labview 6i and with Visual C. I can repeat the test and the error is always in the same spot. There are no error warnings, not in Labview or in C.
    I tried it with another DIO32HS and it makes no difference.
    Has anyone seen this before?
    How can I solve the problem?

    Hello,
    I am not sure where the problem lies in your application, but here is one test you can run to see if the card is working correctly and it may be something that we are missing in the programming of the card.
    You can open the Pattern Input example and the Pattern Output example VIs in labview.
    Next, tie all the data lines of port 0,1 to the data lines of port 2,3. Also tie REQ1 to REQ2 (clock line). Then you can start one example with the settings of external clock, then start the other program using the internal clock. This will insure that we start the slave ports first, then the master ports will start the transfer of data after the slave ports are ready.
    Hope fully you do not see the same behavior, but if you do, you may wish to contact NI technical
    support. For contact information visit www.ni.com.

  • I'd like to know how I can acquire a waveform on a loop and do a circular buffer with this waveforms I will acquire, cause I want to reduce the noise.

    I'm using trigger for this data acquisition.

    deco,
    If you really want a circular buffer, how much data do you want it to hold? One acquisition? Two? Three? Once this is decided, you will need to create the waveform and then continuously strip the old data out and place the new data in. This will add a bit of overhead to your VI.
    There are also software noise filters in LabVIEW that you can use to reduce the noise in your signal.
    Lastly, if there is a lot of noise, you may want to consider an SCXI system which will filter out most of the noise as the data is being acquired.
    Randy Hoskin
    Applications Engineer
    National Instruments
    http://www.ni.com/ask

  • Fastest array operations on a 2D circular buffer

    I'm trying to create a a type of circular buffer on large-ish set of 2d data which are samples of voltage from a data acquisition board.  The boards are Measurement Computing and a lot of the nice programming features built into DAQmx for NI boards aren't easily available to me.
    I'm grabbing chunks of samples, 1000 per channel * 64 channels, every 100ms.  I'm calling this a 'page'.  For each page of samples I take a median for noise filtering and then I publish this median for multiple threads to use.  I also want to be able to string together pages of samples as if it were one longer data acquisition, for up to 30 seconds.  I'm doing it this way because the threads that are expecting their data every ~100ms can't release these AI boards for long periods of time to allow other threads to use them to perform long scans.  The data coming back from my boards is a 2D array.
    I have enough RAM available to pre-allocate the memory to hold all these pages and I've been playing with the In Place structures for awhile now and I haven't been able to land on the magical combination that will allow me to replace any page in the buffer.  It's easy enough using the subarray option of the in Place to replace either the first page or the last page but it gets more complicated to do a page somewhere in the middle without having to resort to Case statements.  I tried to do it with nested In Place structures but it seems as if the subarrays that get created in the lower levels already go out of scope by the time the top level gets it assigned and I just get jibberish on the output side.  Does this make sense?

    SmokeMonster wrote:
    I tried to do it with nested In Place structures but it seems as if the subarrays that get created in the lower levels already go out of scope by the time the top level gets it assigned and I just get jibberish on the output side.  Does this make sense?
    Sorry, but at least to me, this doesn't make sense.  Can you post your code?  I can't see how "out of scope" is a concept that applies here - LabVIEW keeps track of the memory for you and should never lose track of memory that's still in use.
    I posted one approach to a 2D circular buffer; maybe it's of some use to you.

  • How to buil a circular buffer of message

    Hi, I have a GPS that sends me their information every 30 seconds, I'm receiving this information for the serial port and I should send this information by another serial port, but every 90 seconds or more, the transfer time is variable according to the performs of the microcontroller, we need to know how buil a circular buffer of tx message so as not to miss any reading that I sent me the GPS.

    One way would be to have the serial port read in one loop, placing the received messages onto a queue, with the writing done in another loop, popping the messages off the queue as needed. Of course, if you are "loading" the queue every 30 seconds, and "unloading" the same amount only every 90 seconds, you will eventually run out of storage, filling up the predefined queue size. So you will need to determine how long that would be, and how you want to handle it. This is a problem that will occur with whatever method you use, also understanding that the longer you run, the further behind the actual GPS location data you will be. In LabVIEW 8.x, click "File" and New, there is an example of a producer/consumer architecture.
    Message Edited by LV_Pro on 01-27-2009 01:28 PM
    Putnam
    Certified LabVIEW Developer
    Senior Test Engineer
    Currently using LV 6.1-LabVIEW 2012, RT8.5
    LabVIEW Champion

  • Circular buffer

    I am using circular buffer as provided here to store 2D array of DBL data.
    Is there a way to have multiple buffer of same type? Need three circular buffer of DBL type to acquire and save data to its respective circular buffers.
    Reason to store the data separate from each module is to use the respective buffer during analysis.
    Any suggestions, thanks.

    This is sounding more and more like what you really want is a Producer/Consumer architecture with many consumers.  Use a different queue for each consumer.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • Circular Buffer implementa​tion for LabVIEW 8.5

    Greetings,
    Several weeks ago I downloaded the implementation of a circular buffer for LabVIEW 8.5 from ni.com. The current webpage is:
    http://zone.ni.com/devzone/cda/epd/p/id/5883
    Unfortunately, this webpage has been updated since then and the available files for download (swcircularbuffer1.0.19.zip) are for LabVIEW 8.6.
    So my question is: where can I find the implementation of a circular buffer for LabVIEW 8.5 ?
    Thank you very much!
    telmo
    Solved!
    Go to Solution.

    Thanks Smercurio,  I needed this too. 
    After looking at the code and seeing a note on the download page concerning a possibly more efficient method I'm wondering whether anyone has tried it yet.  I'm thinking that using the in-place structure to simply overwrite a pre-defined memory space would indeed be a better implementation of a circular buffer than the somewhat kludgy bounds checking and data wrapping that the NI code provides.  I plan to work on it myself of course but my boss gave me one of those "it would be great if we could have it tomorrow" talks that I'm sure most LV coders know only too well.  [While the C++ guys get two weeks to write Hello Wurld. ]
    Anyway, the app is quite simple:   Run my USB-6251 card with a single channel as fast as possible (1.25MS/s) collecting to the circular buffer.  When a trigger is pressed, store the buffer so I get a file with a few mSec of pre-trigger data.  
    I haven't yet tried the NI code so it may be sufficient for my needs but if anyone is working with the in-place structure and has ideas, code or suggestions I'd love to hear them.
    Using LabVIEW: 7.1.1, 8.5.1 & 2013

  • How to implement multiple queues in one circular buffer?

    Spoiler (Highlight to read)
    Recently I have successfully shared data of 2D array among different vis in a project, using circular buffer.
    However, there is only one circular buffer allowed in one project for one data type.
    I want different vis, running and getting data from circular buffer in different speed, all getting data as a queue from circular buffer. Like the circular buffer's read continuous mode.
    The problem is that after a vi reads in continuous mode, the read data is deleted from the circular buffer. Then other vis can not use them any more and can not keep track where they should begin to read again.
    So if it is possible that there are multiple pointers or queues in circular buffer to keep track the progress of different vis, and data only update when it gets input from DAQ but not deleted when read?   

    LawrenceChong wrote:
    Spoiler (Highlight to read)
    Recently I have successfully shared data of 2D array among different vis in a project, using circular buffer.
    However, there is only one circular buffer allowed in one project for one data type.
    I want different vis, running and getting data from circular buffer in different speed, all getting data as a queue from circular buffer. Like the circular buffer's read continuous mode.
    The problem is that after a vi reads in continuous mode, the read data is deleted from the circular buffer. Then other vis can not use them any more and can not keep track where they should begin to read again.
    So if it is possible that there are multiple pointers or queues in circular buffer to keep track the progress of different vis, and data only update when it gets input from DAQ but not deleted when read?   
    THe last time I wrote a multi-subscriber cirular buffer was in LV 6. Since then I have found that polymorphic queues perform much better so I now use multiple queues. One queue for each subscriber of the data. The subscribers are then responsible for maintaining their own histories.
    So just use multiple queues.
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Serial VISA 'Write' -why is it slow to return even with large buffer?

    Hi,
    I'm writing a serial data transfer code 'module' that will run 'in the background' on a cRIO-9014.  I'm a bit perplexed about how VISA write in particular seems to work.
    What I'm seeing is that the VISA Write takes about 177ms to 'return' from a 4096 byte write, even though my write buffer has been set to >> 4096.
    My expectation would be that the write completes near instantly as long as the VISA driver available buffer space is greater than the bytes waiting to be written, and that the write function would only 'slow down' up to the defined VISA timeout value if there was no room in the buffer.
    As such, I thought it would be possible to 'pre-load' the transmit buffer at a high rate, then, by careful selection of the time-out value relative to the baud rate, it would self-throttle once the buffer fills up?
    Based on my testing this is not the case, which leaves me wondering:
    a) If you try to set the transmit buffer to an unsupported value, will you get an error?
    b) Assuming 'yes' to a, what the heck is the purpose of the serial write buffer? I see no difference running with serial buffer size == data chunk size and serial buffer size >> data chunk size??
    QFang
    CLD LabVIEW 7.1 to 2013

    Hi, I can quickly show the low-level part as a png. It's a sub-vi for transferring file segments.  Some things like the thin 'in-line' VI with (s) as the icon were added to help me look at were the hold-up is.  I cropped the image to make it more readable, the cut-off left and right side is just the input and output clusters.
    In a nut-shell, the VISA Write takes as much time to 'return' as it would take to transfer x bytes over y baud rate.  In other words, even though there is suppused to be a (software or hardware) write and read buffer on the com port, the VISA write function seems to block until the message has physically left the port (OR it writes TO the buffer at the same speed the buffer writes out of the port).  This is very unexpected to me, and what prompted me to ask about what the point is of the write buffer in the first place?  -The observations are on a 9014 RT target built in serial port.  Not sure if the same is observed on other targets or other OS's.  [edit: and the observation holds even if transmitting block-sizes of say 4096 with a buffer size of 4096 or 2*4096 or 10 * 4096 etc. I also tried smaller block sizes and larger block sizes with larger still buffers.  I was able to verify that the buffer re-size function does error out if I give it an insane input buffer size request, so I'm taking that to mean that when I assign e.g. a 4MiB buffer space with no error, the write buffer actually IS 4MiB, but I have not found a property to read back what the HW buffer is, so all I have to base that on is the lack of an error during buffer size setting.) [\edit\]
    The rest of the code is somewhat irrelelvant to this discussion, however, to better understand it, the idea is that the remote side of the connection will request various things, including a file.  The remote side can request a file as a stream of messages each of size 'Block Size (bytes)', or it can request a particular block (for handling e.g. re-transmission if file MD5 checksum does not match).   The other main reason for doing block transfers is that VISA Write hogs a substantial ammount of CPU, so if you were to attempt to write e.g. a 4MiB file out the serial port, assuming your VISA time-out is sufficiently long for that size transfer, the write would succeed, but you would see ~50% CPU from this one thread alone and (depending on baud rates) it could remain at that level for a verrry long time.   So, by transferring smaller segments at a time, I can arbitrarily insert delays between segments to let the CPU sleep (at the expense of longer transfer times).  The first inner case shown that opens the file only runs for new transfers, the open file ref is kept on a shift register in the calling VI.  The 'get file offset' function after the read was just something I was looking at during (continued) development, and not required for the functionality that I'm describing.
    QFang
    CLD LabVIEW 7.1 to 2013

  • ORA-00385: cannot enable Very Large Memory with new buffer cache 11.2.0.2

    [oracle@bnl11237dat01][DWH11]$ sqlplus / as sysdba
    SQL*Plus: Release 11.2.0.2.0 Production on Mon Jun 20 09:19:49 2011
    Copyright (c) 1982, 2010, Oracle. All rights reserved.
    Connected to an idle instance.
    SQL> startup mount pfile=/u01/app/oracle/product/11.2.0/dbhome_1/dbs//initDWH11.ora
    ORA-00385: cannot enable Very Large Memory with new buffer cache parameters
    DWH12.__large_pool_size=16777216
    DWH11.__large_pool_size=16777216
    DWH11.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
    DWH12.__pga_aggregate_target=2902458368
    DWH11.__pga_aggregate_target=2902458368
    DWH12.__sga_target=4328521728
    DWH11.__sga_target=4328521728
    DWH12.__shared_io_pool_size=0
    DWH11.__shared_io_pool_size=0
    DWH12.__shared_pool_size=956301312
    DWH11.__shared_pool_size=956301312
    DWH12.__streams_pool_size=0
    DWH11.__streams_pool_size=134217728
    #*._realfree_heap_pagesize_hint=262144
    #*._use_realfree_heap=TRUE
    *.audit_file_dest='/u01/app/oracle/admin/DWH/adump'
    *.audit_trail='db'
    *.cluster_database=true
    *.compatible='11.2.0.0.0'
    *.control_files='/dborafiles/mdm_bn/dwh/oradata01/DWH/control01.ctl','/dborafiles/mdm_bn/dwh/orareco/DWH/control02.ctl'
    *.db_block_size=8192
    *.db_domain=''
    *.db_name='DWH'
    *.db_recovery_file_dest='/dborafiles/mdm_bn/dwh/orareco'
    *.db_recovery_file_dest_size=7373586432
    *.diagnostic_dest='/u01/app/oracle'
    *.dispatchers='(PROTOCOL=TCP) (SERVICE=DWH1XDB)'
    DWH12.instance_number=2
    DWH11.instance_number=1
    DWH11.local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=bnl11237dat01-vip)(PORT=1521))))'
    DWH12.local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=bnl11237dat02-vip)(PORT=1521))))'
    *.log_archive_dest_1='LOCATION=/dborafiles/mdm_bn/dwh/oraarch'
    *.log_archive_format='DWH_%t_%s_%r.arc'
    #*.memory_max_target=7226785792
    *.memory_target=7226785792
    *.open_cursors=1000
    *.processes=500
    *.remote_listener='LISTENERS_SCAN'
    *.remote_login_passwordfile='exclusive'
    *.sessions=555
    DWH12.thread=2
    DWH11.thread=1
    DWH12.undo_tablespace='UNDOTBS2'
    DWH11.undo_tablespace='UNDOTBS1'
    SPFILE='/dborafiles/mdm_bn/dwh/oradata01/DWH/spfileDWH1.ora' # line added by Agent
    [oracle@bnl11237dat01][DWH11]$ cat /etc/sysctl.conf
    # Kernel sysctl configuration file for Red Hat Linux
    # For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
    # sysctl.conf(5) for more details.
    # Controls IP packet forwarding
    net.ipv4.ip_forward = 0
    # Controls source route verification
    net.ipv4.conf.default.rp_filter = 1
    # Do not accept source routing
    net.ipv4.conf.default.accept_source_route = 0
    # Controls the System Request debugging functionality of the kernel
    kernel.sysrq = 0
    # Controls whether core dumps will append the PID to the core filename
    # Useful for debugging multi-threaded applications
    kernel.core_uses_pid = 1
    # Controls the use of TCP syncookies
    net.ipv4.tcp_syncookies = 1
    # Controls the maximum size of a message, in bytes
    kernel.msgmnb = 65536
    # Controls the default maxmimum size of a mesage queue
    kernel.msgmax = 65536
    # Controls the maximum shared segment size, in bytes
    kernel.shmmax = 68719476736
    # Controls the maximum number of shared memory segments, in pages
    #kernel.shmall = 4294967296
    kernel.shmall = 8250344
    # Oracle kernel parameters
    fs.aio-max-nr = 1048576
    fs.file-max = 6815744
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    kernel.shmmax = 536870912
    net.ipv4.ip_local_port_range = 9000 65500
    net.core.rmem_default = 262144
    net.core.rmem_max = 4194304
    net.core.wmem_default = 262144
    net.core.wmem_max = 1048586
    net.ipv4.tcp_wmem = 262144 262144 262144
    net.ipv4.tcp_rmem = 4194304 4194304 4194304
    Please can I know how to resolve this error.

    CAUSE: User specified one or more of { db_cache_size , db_recycle_cache_size, db_keep_cache_size, db_nk_cache_size (where n is one of 2,4,8,16,32) } AND use_indirect_data_buffers is set to TRUE. This is illegal.
    ACTION: Very Large Memory can only be enabled with the old (pre-Oracle_8.2) parameters

  • SQLLDR exists with conversion buffer overflow

    Hi ,
    i have a flat file with over 3,50,000+ records in csv format. The loader program exits with conversion buffer overflow error in log file after loading 2 60 000 records
    what i need to change in my ctl file to load full set of records.
    i have used following things in ctl file
    OPTIONS (SKIP=1)
    LOAD DATA
    CHARACTERSET WE8ISO8859P1
    INFILE *
    APPEND
    INTO TABLE SYMCDH_QTC_CONTACTS_ALL_TEMP
    FIELDS TERMINATED BY "|"
    OPTIONALLY ENCLOSED BY '"'
    TRAILING NULLCOLS
    (

    Hi,
    the error occurs because some data you are trying to load, exceeds the limit for a varchar2 column in your database. You know which record it is due to the error. So you can extend the size of the column of the table or adjust the given data in the file or take a part of the data to insert into your table.
    Herald ten Dam
    http://htendam.wordpress.com

  • Implementing a circular buffer - which approach works best?

    I'm just implementing a circular buffer (or a circular queue, to be precise). Now I wonder which is better for wrapping around when inserting:
    Using the modulo operator or using some variable to store the insertionPoint and incrementing it after each insert?
    Does it make any difference in performance / readability?
    Greets, Oliver

    Trollhorn wrote:
    Uh, that article is really nice... thanks...Is that sarcasm, or is it "prob sol"?
    My suggestion would simply be: Why roll your own, when you can just use a standard implementation provided by the JDK (you do know about the java.util.Queue interface and can find standard classes which implement it, right?).
    So is this just for an academic exercise, or are you one of those premature optimizer kinda guys feeling the need to eek out every last millisecond of processing and/or save every last byte of memory? And maybe you fear the reaper (garbage collector) too.
    I don't see a real need for a "circular queue". Circular buffers, circular lists yes (where you iterate over it in a circular fashion), but when I think of a queue I think of FIFO pushing and popping elements, not iterating over it.

  • Global variables for circular buffer

    Hallo!
    I have another question:
    I need to have a variable circular buffer size. So I would like to define the circular buffer size by a global varable.
    Is that possible? I tried to use the global variable like {VAR_01} to insert in the desired field for circular buffer size, but dasylab only puts a zero in the field.
    Thank you and have a nice day.
    Hilby
    Solved!
    Go to Solution.

    Unfortunately it is not possible to have a variable-sized buffer. Right-click into the corresponding textfield: the context menu does not show an entry to choose the global variable from a list.
    M.Sc. Holger Wons | measX GmbH&Co. KG, Mönchengladbach, Germany | DASYLab, DIAdem, LabView --- Support, Projects, Training | Platinum National Instrument Alliance Partner | www.measx.com

  • Warning: Cannot initialize enumeration with an integer.

    I've found some inconsistent behavior in the CC compiler related to assigning ints to an enum.
    Compile this code:
    // Compiled with:
    // CC: Sun WorkShop 6 update 2 C++ 5.3 Patch 111685-13 2003/02/04
    enum chairs {bluechair=0, greenchair=1, redchair=2};
    enum walls {bluewall, greenwall, redwall};
    typedef enum walls walls;
    int main ()
    walls mywall = 0; // Error: Cannot use int to initialize walls.
    mywall = 0; // Error: Cannot assign int to walls.
    walls mywalls[]={
    bluewall, // OK
    (walls) 0, // OK
    (walls) bluechair, // OK
    (int) 0, // Error: Cannot use int to initialize walls.
    (int) bluechair, // Error: Cannot use int to initialize walls.
    static_cast<int> (0), // Error: Cannot use int to initialize walls.
    static_cast<int>(bluechair), // Error: Cannot use int to initialize walls.
    0 // Warning: Cannot initialize enumeration with an integer.
    mywalls[1] = 0; // Error: Cannot assign int to walls.
    return 0;
    When compiled with g++ and gcc all I get is the same warning:
    chairsandwalls.cc:16: warning: conversion from `int' to `enum walls'
    Should it all be Errors or Warnings?
    Is there some reason why this might actually be the expected behavior?
    Diego.

    Integral to enumeration is not a standard conversion as specified in section 4 (Standard conversions) of the C++ standard. You need to cast any such conversion. The GNU compiler is more lax on this point than WorkShop/Studio, and only generates a warning.
    The reason this is an error has to do with type-safety -- an enumeration has a limited set of valid values, and the language forces you to cast when assigning from an integer saying, "Yes, this is a valid value."

Maybe you are looking for

  • View gerber files from other programs

    I have gerber that were made in Cadsar 6 back in 2001 in RS274X fromat. I now have Ultiboard 10 and want to view these older gerber files. Can the Ultiboard 10 gerber viewer open these files? I tried but was not able to see them.

  • Is it possible to pass PDF (stored as BLOB) to PDFDocMerger

    HI Folks. Will PDFDocMerger Class allow you to pass in multiple PDF BLOBs as an input Stream Array? Any pointers appreciated as I need to know if this is a non-starter. I have many invoice PDFs stored as BLOBs in my database. I need a user to be able

  • I cannot print a jpg attachment from my PC or iphone to my HP c510a printer. I can send text tho

    HP Photosmart c510a PC windows 7 64bit eprint.com has all my jpg attachments as pending.  Not printing.  Word docs print tho.  just no pics. See no error messages on the zeen and I get reply emails thanking me for using the serice, do I want to parti

  • ITunes 6... sound is gone, digital only... what happened???

    I just installed iTunes 6 and restarted. Now my internal speakers don't work. In the Sound Preference panel, there is no longer an option for internal speaker output - only digital. My earphone jack glows red inside, which I don't believe it did befo

  • When I right click on mouse, url opens in same tab

    when I right click link on mouse, url opens in same tab instead of getting dropdown window to choose, open in another tab. how can I right click n open dropdown to select 'open in another tab'? use to work perfectly.